Как создать exe файл в visual studio 2019
В этом пошаговом руководстве показано, как создать традиционное классическое приложение Windows в Visual Studio. В примере приложения, которое вы создадите, используется API Windows для отображения "Hello, Windows desktop!" в окне. Код, созданный в этом пошаговом руководстве, можно использовать в качестве шаблона для создания других классических приложений Windows.
Для краткости некоторые операторы кода опущены в тексте. В разделе "Сборка кода" в конце этого документа показан полный код.
Предварительные требования
Компьютер под управлением Microsoft Windows 7 или более поздних версий. Мы рекомендуем Windows 10 или более поздней версии для оптимальной разработки.
Копия Visual Studio. Сведения о скачивании и установке Visual Studio см. в этой статье. Когда вы запускаете установщик, убедитесь, что установлена рабочая нагрузка Разработка классических приложений на C++ . Не беспокойтесь, если вы не установили эту рабочую нагрузку при установке Visual Studio. Вы можете снова запустить установщик и установить ее сейчас.
Базовые значения об использовании интегрированной среды разработки Visual Studio. Если вы уже использовали классические приложения для Windows, вы, вероятно, справитесь. Общие сведения см. в обзоре возможностей интегрированной среды разработки Visual Studio.
Основные навыки владения языком C++. Не волнуйтесь, мы не будем делать ничего сложного.
Создание классического проекта Windows
Выполните следующие действия, чтобы создать свой первый Windows классический проект. По мере использования вы введете код для рабочего Windows классического приложения. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание классического проекта Windows в Visual Studio
В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.
В верхней части диалогового окна задайте языкC++, задайте для платформызначение Windows и задайте для Project тип "Рабочий стол".
В отфильтрованный список типов проектов выберите Windows мастер рабочего стола и нажмите кнопку "Далее". На следующей странице введите имя проекта, например DesktopApp.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе. Чтобы продолжить, перейдите к созданию кода.
Создание классического проекта Windows в Visual Studio 2017 г.
В меню Файл выберите команду Создать, а затем пункт Проект.
В диалоговом окне "Создать Project" в области слева разверните узел InstalledVisual>C++, а затем выберите Windows Desktop. В средней области выберите мастер Windows рабочего стола.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе. Чтобы продолжить, перейдите к созданию кода.
Создание классического проекта Windows в Visual Studio 2015 г.
В меню Файл выберите команду Создать, а затем пункт Проект.
В диалоговом окне "Создать Project" в области слева разверните узел InstalledTemplatesVisual> >C++, а затем выберите Win32. В средней области выберите шаблон Проект Win32.
На странице "Обзор " мастера приложений Win32 нажмите кнопку "Далее".
На странице "Приложение Параметры" в разделе "Тип приложения" выберите Windows приложение. В разделе "Дополнительные параметры" снимите флажок предварительно скомпилированного заголовка, а затем выберите " Пустой проект". Чтобы создать проект, нажмите кнопку Готово.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе.
Создание кода
Далее вы узнаете, как создать код для классического приложения Windows в Visual Studio.
Запуск классического приложения Windows
Так же, как каждое приложение C и приложение C++ должны иметь функцию в качестве отправной main точки, каждое Windows классическое приложение должно иметь WinMain функцию. WinMain имеет следующий синтаксис:
Сведения о параметрах и возвращаемых значениях этой функции см. в разделе "Точка входа WinMain".
Что такое все эти дополнительные слова, такие как WINAPI , или CALLBACK , или, или HINSTANCE , или _In_ ? Традиционный API Windows использует методы typedefs и макросы препроцессора для абстрагирования некоторых подробностей типов и кода для конкретной платформы, таких как соглашения о вызовах, __declspec объявления и прагмы компилятора. В Visual Studio можно использовать функцию быстрой информации IntelliSense, чтобы узнать, что определяют эти определения типов и макросов. Наведите указатель мыши на интересующее слово или нажмите клавиши CTRLK, CTRLI++ для небольшого всплывающего окна, содержащего определение. Дополнительные сведения см. в разделе Using IntelliSense. Параметры и типы возвращаемых значений часто используют заметки SAL для перехвата ошибок программирования. Дополнительные сведения см. в статье "Использование заметок SAL для уменьшения дефектов кода C/C++".
Windows требуются классические программы. TCHAR определяет макрос, который разрешается в конечном счете wchar_t , если символ ЮНИКОД определен в проекте, в противном случае он разрешается в char . Если вы всегда создаете сборку с поддержкой ЮНИКОДа, вам не требуется TCHAR и может использоваться напрямую wchar_t .
Наряду с функцией WinMain каждый Windows классическое приложение также должно иметь функцию window-procedure. Обычно эта функция называется WndProc , но ее можно присвоить любое имя. WndProc имеет следующий синтаксис:
Дополнительные сведения см. в разделе Процедуры окна.
Добавление функциональных возможностей в функцию WinMain
WinMain В функции вы заполняете структуру типа WNDCLASSEX. Структура содержит сведения о окне: значок приложения, цвет фона окна, имя, отображаемое в заголовке строки, помимо прочего. Важно отметить, что он содержит указатель функции на процедуру окна. В приведенном ниже примере показана типичная структура WNDCLASSEX .
Сведения о полях приведенной выше структуры см. в разделе WNDCLASSEX.
Теперь можно создать окно. Используйте функцию CreateWindowEx .
Эта функция возвращает HWND дескриптор окна. Дескриптор немного похож на указатель, который Windows используется для отслеживания открытых окон. Дополнительные сведения см. в разделе Типы данных Windows.
На этом этапе окно было создано, но нам все равно нужно сообщить Windows, чтобы сделать его видимым. Вот что делает этот код:
На этом этапе функция WinMain должна напоминать приведенный ниже код.
Добавление функциональных возможностей в функцию WndProc
HDC в коде — это дескриптор контекста устройства, который используется для рисования в клиентской области окна. Используйте функции для EndPaint подготовки BeginPaint и завершения рисования в клиентской области. BeginPaint возвращает дескриптор контексту устройства отображения, используемому для рисования в клиентской области; EndPaint завершает запрос на рисование и освобождает контекст устройства.
Сборка кода
Как и было обещано, ниже приведен полный код для рабочего приложения.
Сборка примера
Удалите любой код, введенный в HelloWindowsDesktop.cpp в редакторе. Скопируйте этот пример кода и вставьте его в HelloWindowsDesktop.cpp:
В меню Построение выберите Построить решение. Результаты компиляции должны отображаться в окне вывода в Visual Studio.
Чтобы запустить приложение, нажмите клавишу F5. Окно, содержащее текст "Hello, Windows desktop!", должно появиться в левом верхнем углу экрана.
Поздравляем! Вы выполнили это пошаговое руководство и создали традиционное классическое приложение Windows.
В этой статье описываются некоторые параметры, которые можно настроить при создании приложений с помощью Visual Studio. Вы создадите настраиваемую конфигурацию сборки, скроете определенные предупреждения и расширите выходные данные сборки для примера приложения.
Установите пример приложения
Создание настраиваемой конфигурации сборки
При создании решения конфигурации отладочной сборки и сборки выпуска и их целевые платформы по умолчанию определяются для решения автоматически. Затем вы можете настроить эти конфигурации или создать собственные. Конфигурации указывают тип сборки. Целевые платформы указывают операционную систему, на которое ориентировано приложение для этой конфигурации. См. дополнительные сведения о конфигурациях сборки, платформах сборки и конфигурациях отладки и выпуска проекта.
Конфигурации и параметры платформы можно изменять или создавать с помощью диалогового окна Диспетчер конфигураций. В этой процедуре вы создадите конфигурацию сборки для тестирования.
Создание конфигурации сборки
Откройте диалоговое окно Диспетчер конфигураций.
В списке Активная конфигурация решения выберите .
В диалоговом окне Создание конфигурации решения введите для новой конфигурации имя Test , скопируйте параметры из существующей конфигурации Отладка и нажмите кнопку ОК.
В списке Активная платформа решения выберите .
В диалоговом окне Создание платформы решения выберите x64 и не копируйте параметры из платформы x86.
Активная конфигурация решения была изменена на Тест, а для активной платформы решения задано значение x64.
Активную конфигурацию решения можно быстро проверить или изменить с помощью списка Конфигурации решения на панели инструментов Стандартная.
создание приложения;
Далее вам предстоит создать решение с помощью настраиваемой конфигурации сборки.
Выполните сборку решения.
В строке меню последовательно выберите Сборка > Собрать решение (или нажмите CTRL+SHIFT+B).
Окно Вывод отображает результат сборки. Сборка успешно завершена.
Скрытие предупреждений компилятора
Далее мы добавим код, который приводит к созданию предупреждения компилятором.
В проекте Visual Basic откройте файл ExpenseReportPage.xaml.vb. В пользовательском конструкторе Public Sub New. добавьте следующий код: Dim i .
Окно Вывод отображает результат сборки. Сборка была выполнена успешно, но были созданы предупреждения:
Вы можете временно скрыть некоторые предупреждения во время сборки, чтобы они не засоряли выходные данные сборки.
В обозревателе решений выберите узел проекта верхнего уровня.
Открывается Конструктор проектов.
Выберите страницу Сборка и затем в поле Отключить предупреждения укажите номер предупреждения 0168.
Окно Вывод отображает только сводные данные о сборке.
Отключение всех предупреждений сборки в Visual Basic
В обозревателе решений выберите узел проекта верхнего уровня.
Открывается Конструктор проектов.
На странице Компиляция установите флажок Выключить все предупреждения.
Окно Вывод отображает только сводные данные о сборке.
Отображение дополнительных сведений о сборке в окне вывода
Вы можете изменить объем информации, отображаемый о процессе сборки в окне Вывод. В общем случае задан минимальный уровень детализации сборки, при котором в окне Вывод отображается только сводка по процессу сборки вместе с высокоприоритетными предупреждениями или ошибками. Чтобы отобразить дополнительные сведения о сборке, см. раздел Диалоговое окно "Параметры", "Проекты и решения", "Сборка и запуск".
При отображении дополнительных сведений сборка будет занимать больше времени.
Изменение объема сведений в окне вывода
Откройте диалоговое окно Параметры.
Выберите категорию Проекты и решения и затем страницу Сборка и запуск.
В строке меню выберите Сборка > Очистить решение.
Выполните сборку решения и просмотрите сведения в окне Вывод.
Сведения о сборке включают в себя время запуска сборки (находится в начале) и порядок обработки файлов. Они также включают фактический синтаксис компилятора, запускаемый Visual Studio при сборке.
В сборке Visual Basic параметр /nowarn не включает в себя определенные исключаемые предупреждения, поэтому предупреждения не отображаются.
В окне Вывод можно искать содержимое, отобразив диалоговое окно Найти нажатием клавиш CTRL+F.
Создание сборки выпуска
Вы можете создать версию примера приложения, оптимизированную для поставки. Для сборки выпуска вы указываете, что исполняемый файл копируется в общую сетевую папку перед запуском сборки.
Указание сборки выпуска для Visual Basic
Открывается Конструктор проектов.
Откройте вкладку Компиляция.
В списке Конфигурация выберите Выпуск.
В списке Платформа выберите x86.
В поле Выходной путь сборки укажите сетевой путь.
Например, так: \\myserver\builds .
Открывается Конструктор проектов.
Перейдите на страницу Сборка.
В списке Конфигурация выберите Выпуск.
В списке Платформа выберите x86.
В поле Путь для создаваемых файлов укажите сетевой путь.
Например, можно указать \\myserver\builds .
На стандартной панели инструментов выберите в качестве конфигураций решения Выпуск, а в качестве платформ решения — x86.
Исполняемый файл копируется в указанный сетевой путь. Путем к нему будет \\myserver\builds\\FileName.exe .
Вы создали проект консольного приложения C++ и ввели код. Теперь вы можете выполнить сборку приложения и запустить его в Visual Studio. Затем запустите его как автономное приложение из командной строки.
Предварительные требования
Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой "Разработка классических приложений на C++". Если установка еще не выполнена, следуйте инструкциям в статье Установка поддержки C++ в Visual Studio.
Создайте проект Hello, World!" и введите его исходный код. Если вы еще не сделали этого, выполните действия, описанные в разделе Создание проекта консольного приложения С++.
Если Visual Studio выглядит следующим образом, можно приступать к сборке и запуску приложения:
Сборка и запуск кода в Visual Studio
Для сборки проекта выберите в меню Сборка пункт Собрать решение. Окно Вывод отображает результаты процесса сборки.
Чтобы запустить этот код, в строке меню выберите Отладка и Запуск без отладки.
Поздравляем! Вы создали свое первое консольное приложение "Hello, world!" в Visual Studio! Нажмите любую клавишу, чтобы закрыть окно консоли и вернуться в редактор Visual Studio.
Выполнение кода в командном окне
Обычно консольные приложения запускаются из командной строки, а не в Visual Studio. После того как приложение будет создано в Visual Studio, его можно запустить из любого командного окна. Вот как можно найти и запустить новое приложение в окне командной строки.
В обозревателе решений выберите решение HelloWorld (а не проект HelloWorld) и щелкните правой кнопкой мыши, чтобы открыть контекстное меню. Выберите Открыть папку в проводнике, чтобы открыть окно проводника в папке решения HelloWorld.
В окне проводника откройте папку Debug. В этой папке содержится ваше приложение, HelloWorld.exe и несколько других файлов отладки. Удерживая нажатой клавишу SHIFT, щелкните правой кнопкой мыши HelloWorld.exe, чтобы открыть контекстное меню. Выберите команду Копировать как путь, чтобы скопировать путь к приложению в буфер обмена.
Чтобы открыть окно командной строки, нажмите Windows + R, чтобы открыть диалоговое окно Выполнить. Введите cmd.exe в текстовом поле Открыть, а затем выберите ОК для запуска окна командной строки.
В окне командной строки щелкните правой кнопкой мыши, чтобы вставить путь к приложению в командную строку. Нажмите клавишу ВВОД, чтобы запустить приложение.
Поздравляем! Вы создали и запустили консольное приложение в Visual Studio.
Следующие шаги
После создания и запуска этого простого приложения можно приступать к более сложным проектам. Дополнительные сведения см. в разделе Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++. В нем содержатся более подробные пошаговые руководства, посвященные возможностям Microsoft C++ в Visual Studio.
Руководство по устранению неполадок
Здесь приведены решения распространенных проблем, которые могут возникнуть при создании первого проекта C++.
Сборка и запуск кода в Visual Studio: проблемы
Если в редакторе исходного кода отображаются красные волнистые линии, то сборка может содержать ошибки или предупреждения. Убедитесь, что код соответствует примеру в написании, пунктуации и регистре.
Выполнение кода в командном окне: проблемы
Если путь, показанный в проводник, заканчивается на папке \HelloWorld\HelloWorld, вы открыли проект HelloWorld вместо решения HelloWorld. Вы перепутаете папку Debug, в которой нет вашего приложения. Перейдите на уровень вверх в проводнике, чтобы открыть папку решения — первый HelloWorld в пути. В этой папке также содержится папка Debug, в которой вы найдете свое приложение.
Можно также открыть папку Debug решения в командной строке, чтобы запустить приложение. Приложение не будет запускаться из других каталогов, если не указан путь к приложению. Однако вы можете скопировать приложение в другой каталог и запустить его из него. Также можно скопировать его в каталог, указанный переменной среды PATH, а затем запустить его из любого места.
Если в контекстном меню отсутствует параметр Копировать как путь, закройте меню, а затем удерживайте нажатой клавишу SHIFT при повторном открытии. Эта команда предназначена только для удобства. Можно также скопировать путь к папке из панели поиска проводника и вставить его в диалоговое окно Выполнить, а затем ввести имя исполняемого файла в конце. При этом потребуется чуть больше действий по вводу текста, но результат будет тем же.
EXE является форматом, без которого не обходится ни одно программное обеспечение. Им выполняются все процессы запуска или установки программ. Он может представлять собой как полноценное приложение, так и быть его частью.
Способы создания
Существует два варианта создания EXE файла. Первый — это использование сред для программирования, а второй — применение специальных инсталляторов, при помощи которых создаются разные «репаки» и пакеты, устанавливаемые в один клик. Далее на примерах рассмотрим оба варианта.
Способ 1: Visual Studio Community
Рассмотрим процесс создания простой программы на основе языка программирования «Visual С++» и ее компиляции в Visual Studio Community.
- Запускаем приложение, заходим в меню «Файл», после чего жмем по пункту «Создать», а затем в открывшемся перечне на «Проект».
int main(int argc, char* argv[]) printf("Hello, World!");
_getch();
return 0;
>
Примечание: Текст кода выше — это просто пример. Вместо него необходимо использовать собственный код для создания программы на языке «Visual С++».
Способ 2: Инсталляторы
Для автоматизации процесса установки ПО все более широкую популярность завоевывают так называемые инсталляторы. С их помощью создается софт, основной задачей которого является упрощение процесса развертывания ПО на компьютере. Рассмотрим процесс создания EXE файла на примере Smart Install Maker.
-
Запускаем программу и во вкладке «Информация» редактируем наименование будущего приложения. В поле «Сохранить как» нажимаем по значку папки для определения местоположения, куда будет сохранен выходной файл.
Таким образом, в данной статье мы выяснили, что EXE файл может создаваться как при помощи специализированных сред разработки программ, например Visual Studio Community, так и специальными инсталляторами, к примеру, Smart Install Maker.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.
Лучший отвечающий
Вопрос
Все перепробовал и пересобирать решение и проект, комплируется код исключительно в DLL.
Я так полагаю что студия думает будто я буду самолично эту библиотеку вызывать через командную строку чтобы ей воспользоваться или что.
Написал простенькую программу типа Hello World.
При компиляции получаю вот это
1>------ Перестроение всех файлов начато: проект: FirstProgramm, Конфигурация: Debug x64 ------
1>FirstProgramm -> C:\Users\Юлиан Дель-Кампо\source\repos\Hello world\bin\x64\Debug\netcoreapp2.1\FirstProgramm.dll
========== Перестроение всех проектов: успешно: 1, с ошибками: 0, пропущено: 0 ==========
Что делать, как получить ексешник?
Ответы
Да, " dotnet app.dll". Делать переход в каталог вроде не нужно, так как он прописывается в PATH.
"а люди, придумавшие такой способ старта приложения не думали каково будет конечному пользователю"
Обычно создается инсталлятор, который создает ярлык на рабочем столе или в системном меню. Пользователь просто нажимает на ярлык и не задумывается, какой именно тип файла запускается.
"раз в студии изначально отсутсвует компиляция в exe как таковая, значит либо мир с ума сходит либо я чего то не недопонимаю."
Прочитайте внимательно статью, ссылку на которую я дал. В .NET Core "компиляция" (точнее построение) - это процесс получения DLL, не привязанной к конкретной ОС. Получение исполняемых файлов, заточенных под конкретную ОС, это отдельный процесс, называемый публикацией. Он отделен от построения, так как на этапе отладки без разницы, что именно запускать; заточенные под конкретные ОС пакеты нужны только на этапе развертывания готового приложения.
Вроде это не сильно отличается от Java, где компилятор стандартно выдает кроссплатформенный JAR-файл, а для получения EXE нужны дополнительные действия?
Читайте также: