Как создать проект в Visual Studio 2019 c

Обновлено: 30.06.2024

Зависимости в проектах C и C++ сложны. Создавать проекты C и C++ сложно, а поддерживать информацию о зависимостях внутри проектов C и C++ сложно.

Visual Studio C++ — это самая популярная интегрированная среда разработки и компилятор для платформ Microsoft Windows, широко используемая разработчиками C и C++. Очень часто разработчики вручную добавляют информацию в проект в среде IDE, но этот метод трудно поддерживать с течением времени. К счастью, MSBuild, система сборки, используемая Visual Studio, позволяет определять файлы внешних пользовательских свойств (это XML-файлы), что представляет собой интересную точку расширения для автоматизации и стандартизации многих задач.

В этом посте рассказывается о синтаксисе файлов .vcxproj и файлов свойств Visual Studio, а также о том, как их можно использовать для систематического и масштабируемого определения зависимостей C++ от внешних библиотек.

Давайте начнем с того, что вручную добавим внешнюю библиотеку в один из существующих проектов. Давайте представим, что нам нужны некоторые возможности сжатия в нашем проекте, и мы хотим использовать для этой цели популярную библиотеку ZLib. Команда разработчиков может решить, что они поместят все свои зависимости в «C:\TeamDeps», и процесс добавления такой информации в наш проект обычно включает несколько шагов:

  • Добавление включаемых каталогов, в которых можно найти такие заголовки, как zlib.h
  • Добавление библиотек, которые необходимо связать, например zlib.lib
  • Добавление каталогов библиотек, в которых можно найти эти библиотеки
  • Добавление возможных определений препроцессора, которые могут потребоваться библиотеке для правильного поведения.

Все эти задачи можно выполнить в интерактивном режиме в среде IDE, перейдя в представление проекта, щелкните правой кнопкой мыши и откройте «Свойства». Для определения включаемых каталогов необходимо перейти в C/C++ -> Препроцессор -> Дополнительные включаемые каталоги:

Дополнительный путь к заголовку Visual Studio C++

Обратите внимание, что вся эта информация определяется для каждой конфигурации, в этом образе конфигурация Release — x64 изменяется. Если мы добавим каталоги include в эту конфигурацию, а затем переключимся на Debug в IDE, сборка не найдет заголовки ZLib. Поэтому необходимо добавлять включаемые каталоги, как правило, во все конфигурации.

Аналогичным образом библиотеки, которые связывает наше приложение, могут быть определены в Linker -> Input -> Additional Dependencies.

Дополнительные зависимости Visual Studio C++

И, наконец, необходимы пути к библиотекам, это можно указать в Linker -> General. Как и указанные выше свойства, его также можно определить для нескольких конфигураций.

Дополнительный путь зависимостей Visual Studio C++

Этот процесс очень ручной, но мы можем проверить, как он транслируется в файлы проекта. Если мы проверим файл .vcxproj, то найдем что-то вроде этого:

Учитывая, что файлы .vcxproj являются XML-файлами, в них можно напрямую добавлять свойства. Тем не менее, файлы свойств предоставляют очень удобный способ сделать то же самое, сохраняя желаемую развязку и разделение задач в разработке программного обеспечения. Файлы свойств также представляют собой XML-файлы с расширением .props, которые в основном имеют тот же синтаксис, но могут быть импортированы из .vcxproj и даже других файлов свойств. Следуя принципу единой ответственности, мы создадим отдельные файлы свойств, предназначенные исключительно для обработки информации о зависимостях.

Для приведенного выше примера мы могли бы создать файл zlib.props, например:

И затем импортируйте его в файл .vcxproj. Этот импорт также можно добавить вручную в IDE, перейдя в «Диспетчер свойств» -> «Добавить существующий лист свойств», а затем перейдя и выбрав файл zlib.props. Но так как мы немного узнали, как выглядит .vcxproj, давайте сделаем это прямо в нем:

После того, как у нас есть эта настройка, добавить новую зависимость в проект очень просто, добавив новый файл xxxx.props и импортировав его в тот же раздел «Зависимости» в нашем .vcxproj, в одну строку.

Visual Studio C++ — это интегрированная среда разработки с несколькими конфигурациями. Это означает, что он может обрабатывать различные конфигурации сборки, такие как выпуск, отладка или архитектуры, такие как x64 или x86, в одном проекте без перезапуска, просто выбирая его в поле со списком.

Важно отметить, что в общем случае невозможно связать библиотеки, скомпилированные с другим типом сборки или архитектурой, в проект. Все библиотеки и исполняемые файлы, использующие их, должны быть собраны с одинаковым типом сборки и архитектурой.Если этого не сделать, наиболее типичной ошибкой будет ошибка ссылки, которая может выглядеть так:

Если мы хотим поддерживать и разрабатывать несколько конфигураций, как правило, для каждой конфигурации требуется как минимум отдельная библиотека. Существуют разные альтернативы, первый из которых будет использовать разные имена для библиотеки, например, zlibd.lib для отладочной, zlib.lib для выпуска и такие варианты, как zlib64d.lib для 64-битных. Второй вариант — сохранить то же имя библиотеки, но разместить ее в разных папках, например Release/x64 или Debug/Win32.

Чтобы позволить Visual Studio MSBuild использовать активные значения конфигурации, мы можем ввести условные обозначения для значений IDE «Конфигурация» и «Платформа» в нашем предыдущем файле zlib.props, например:

В зависимости от масштаба, количества зависимостей и управляемых конфигураций может быть интересно сделать еще один шаг и полностью отделить данные от функциональности. В этом случае это означало бы определить файл zlib.props, который импортирует определенный файл данных для одной конфигурации:

И каждый из файлов будет определять определенные переменные, например, zlib_release_x64.props будет:

Этот подход делает более очевидными важные значения, которые необходимо определить, а изменения и улучшения менее подвержены ошибкам.

Очень часто одна библиотека зависит от функциональности другой библиотеки. Например, популярный фреймворк Poco C++ зависит от ZLib (помимо других библиотек, таких как expat, sqlite и т. д.). В большинстве случаев, когда пользователь хочет создать приложение с использованием инфраструктуры Poco C++, он не хочет заботиться обо всех транзитивных зависимостях Poco, а просто хочет указать в своем проекте свою зависимость от Poco, но не от другие транзитивные зависимости, такие как Zlib. Часто пользователи даже не подозревают об этих транзитивных зависимостях

Возможно реализовать эту логику в наших файлах свойств и внедрить в файл poco.props:

Обратите внимание на условие zlib_props_imported . Это флаг, который мы ввели, чтобы избежать повторного импорта одного и того же файла. Как такое могло произойти? Это то, что называется «ромбиком» на графике зависимостей. Если бы у нас была другая зависимость, такая как библиотека Boost, которая также зависит от ZLib, и мы хотим использовать в нашем проекте и Poco, и Boost, файл zlib.props был бы импортирован дважды.

Давайте на этом этапе повторим файлы, которые у нас уже есть:

  • zlib.props: точка входа для библиотеки zlib. Он содержит условную логику, основанную на «конфигурации» и «платформе» Visual IDE для выбора одного из следующих файлов. Он также реализует «защиту импорта», чтобы избежать транзитивного включения более одного раза.
  • zlib_release_x64.props : содержит конкретные данные о библиотеке zlib в ее выпуске, режиме x64, как ZLibLibraryDirectories , которые могут меняться в разных конфигурациях.
  • zlib_debug_x64.props: то же, что и предыдущий, но для конфигурации отладки. Возможны и другие файлы конфигурации.
  • poco.props : точка входа в библиотеку poco. Именно этот файл пользователи будут включать в свои файлы проектов .vcxproj. Он содержит транзитивную зависимость от zlib.props .
  • poco_release_x64.props: специальные данные для библиотеки poco для выпуска, конфигурация x64.
  • … другие файлы для каждой транзитивной зависимости и для каждой конфигурации.

Теперь, когда зависимости хорошо структурированы, у нас есть необходимая инфраструктура для дальнейшей автоматизации процесса. Это может быть очень полезно в нескольких случаях, например, при развитии зависимостей. Многим командам необходимо работать с несколькими проектами и разными версиями своих библиотек C++. Было бы относительно просто определить такой макет, как C:\TeamDeps\zlib\1.2.11 и C:\TeamDeps\zlib\1.2.8 . Каждый проект может определять свои версии и иметь сценарий для автоматизации создания различных файлов свойств.

Кроме того, возможно, существуют дополнительные конфигурации, которыми некоторым командам необходимо управлять для своих поставок, например необходимость управлять различными вариантами библиотеки. Очень типичным примером является связывание с разделяемыми и статическими библиотеками. Это также потребуется включить в макет зависимостей.

Наличие этой автоматизации было бы очень удобно для разработчиков, работающих над разными проектами, или для агентов сборки CI, которым нужна какая-то изоляция, а затем требуется использовать другой C:\TeamDeps для разных задач.

В этом репозитории Github есть проект C++ для Visual Studio 16 2019, реализующий приложение, которое может загружать изображение из Интернета, используя некоторые функции из библиотеки Poco, обрабатывать его с помощью библиотеки OpenCV и отображать с помощью графического интерфейса ImGui. пользовательский интерфейс, визуализирующий его с помощью GLFW. Все эти библиотеки, в свою очередь, имеют несколько транзитивных зависимостей.

Мы могли бы вручную загрузить их и собрать из исходников, поместить в папку, например, «C:\TeamDeps», а затем записать файлы свойств.Менеджер пакетов Conan C++ может автоматизировать это для нас, управляя загрузкой пакетов из центрального репозитория пакетов с открытым исходным кодом ConanCenter, установкой их в кэш Conan, чтобы они никоим образом не загрязняли и не изменяли систему, и, наконец, используя Генератор MSBuildDeps автоматически генерирует из графа зависимостей все файлы свойств для нашего проекта.

Первым шагом является установка зависимостей (прочитайте файл conanfile.py, если вы хотите проверить, как там указаны версии зависимостей):

Эта команда загрузит и установит все наши зависимости из ConanCenter и транзитивные зависимости (27 из них). Граф зависимостей можно создать с помощью $ conan info .. --graph=graph.html, а затем открыть файл graph.html:

График зависимостей ImGui Poco OpenCV

После команды $conan install перейдите в папку conan и проверьте там все сгенерированные файлы .props.

После того, как зависимости установлены и файлы свойств добавлены в проект (это нужно сделать только один раз, проект в репозитории Github уже добавил файлы свойств, ничего делать не нужно), можно построить и запустить проект. Не забудьте выбрать «Release» и «x64», так как это конфигурация по умолчанию, которая будет установлена ​​с помощью conan install.

Использование файлов свойств — это удобный и структурированный способ управления информацией о зависимостях в проектах Visual Studio C++. Они могут быть очень систематически организованы для масштабирования до любого количества зависимостей, управления транзитивными зависимостями и несколькими конфигурациями (выпуск/отладка, x64/x86).

Поддержка C/C++ для Visual Studio Code обеспечивается расширением Microsoft C/C++, позволяющим осуществлять кроссплатформенную разработку на C и C++ в Windows, Linux и macOS.

расширение cpp

Установите расширение

  1. Откройте VS Code.
  2. Выберите значок просмотра расширений на панели действий или используйте сочетание клавиш ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).
  3. Выполните поиск по запросу "C++".
  4. Выберите "Установить".

Поиск c++ в расширениях вид

После установки расширения при открытии или создании файла *.cpp у вас будет подсветка синтаксиса (раскрашивание), интеллектуальное завершение и наведение (IntelliSense) и проверка ошибок.

Функции языка C++

Установите компилятор

C++ – это компилируемый язык. Это означает, что исходный код вашей программы должен быть переведен (скомпилирован) до того, как его можно будет запустить на вашем компьютере. VS Code — это, прежде всего, редактор, и он полагается на инструменты командной строки, которые выполняют большую часть рабочего процесса разработки. Расширение C/C++ не включает компилятор или отладчик C++. Вам нужно будет установить эти инструменты или использовать те, которые уже установлены на вашем компьютере.

В вашей академической или рабочей среде разработки уже могут быть компилятор и отладчик C++. Обратитесь к своим преподавателям или коллегам за инструкциями по установке рекомендуемого набора инструментов C++ (компилятор, отладчик, система проектов, линтер).

На некоторых платформах, таких как Linux или macOS, уже установлен компилятор C++. В большинстве дистрибутивов Linux установлена ​​коллекция компиляторов GNU (GCC), и пользователи macOS могут получить инструменты Clang с помощью Xcode.

Проверьте, установлен ли у вас компилятор

Убедитесь, что исполняемый файл вашего компилятора находится в пути вашей платформы (%PATH в Windows, $PATH в Linux и macOS), чтобы расширение C/C++ могло его найти. Вы можете проверить доступность своих инструментов C++, открыв встроенный терминал ( ⌃` (Windows, Linux Ctrl+` ) ) в VS Code и попытавшись напрямую запустить компилятор.

Проверка компилятора GCC g++:

Проверка Clang компилятора Clang:

Примечание. Если вы предпочитаете полную интегрированную среду разработки (IDE) со встроенной компиляцией, отладкой и шаблонами проектов (Файл > Новый проект), доступно множество вариантов, таких как Visual Studio Издание сообщества.

Если у вас не установлен компилятор, в приведенном ниже примере мы описываем, как установить минималистские инструменты GNU для Windows (MinGW) C++ (компилятор и отладчик). MinGW — популярный бесплатный набор инструментов для Windows. Если вы используете VS Code на другой платформе, вы можете прочитать учебные пособия по C++, в которых рассматриваются конфигурации C++ для Linux и macOS.

Пример: установка MinGW-x64

Мы установим Mingw-w64 через MSYS2, который предоставляет актуальные встроенные сборки GCC, Mingw-w64 и других полезных инструментов и библиотек C++.Вы можете загрузить последнюю версию установщика со страницы MSYS2 или использовать эту ссылку для установки.

Следуйте инструкциям по установке на веб-сайте MSYS2, чтобы установить Mingw-w64. Не забудьте запустить каждое необходимое меню «Пуск» и команду pacman, особенно шаг 7, когда вы будете устанавливать актуальный набор инструментов Mingw-w64 ( pacman -S --needed base-devel mingw-w64-x86_64-toolchain ).

Добавьте компилятор MinGW в свой путь

Добавьте путь к папке bin Mingw-w64 в переменную среды Windows PATH, выполнив следующие действия:

  1. В строке поиска Windows введите «Настройки», чтобы открыть настройки Windows.
  2. Найдите Изменить переменные среды для своей учетной записи.
  3. Выберите переменную «Путь» в своих пользовательских переменных, а затем нажмите «Изменить».
  4. Выберите «Создать» и добавьте путь к папке назначения Mingw-w64 с добавлением \mingw64\bin к системному пути. Точный путь зависит от того, какую версию Mingw-w64 вы установили и где вы ее установили. Если вы использовали указанные выше настройки для установки Mingw-w64, добавьте это в путь: C:\msys64\mingw64\bin .
  5. Нажмите OK, чтобы сохранить обновленный путь. Вам нужно будет повторно открыть все окна консоли, чтобы новое местоположение PATH стало доступным.

Проверьте установку MinGW

Чтобы убедиться, что ваши инструменты Mingw-w64 правильно установлены и доступны, откройте новую командную строку и введите:

Если вы не видите ожидаемого вывода или g++ или gdb не является распознанной командой, убедитесь, что ваша запись PATH соответствует двоичному расположению Mingw-w64, где находятся инструменты компилятора.

Привет, мир

Чтобы убедиться, что компилятор установлен и настроен правильно, мы создадим простейшую программу Hello World C++.

Создайте папку с именем «HelloWorld» и откройте VS Code в этой папке ( code . открывает VS Code в текущей папке):

Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». Примите диалоговое окно «Доверие рабочей области», выбрав «Да, я доверяю авторам, поскольку это созданная вами папка».

Теперь создайте новый файл с именем helloworld.cpp, нажав кнопку «Новый файл» в проводнике или команду «Файл» > «Новый файл».

Кнопка

helloworld.cpp file

Добавить исходный код Hello World

Теперь вставьте этот исходный код:

Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Вы также можете включить автосохранение, чтобы автоматически сохранять изменения в файле, установив флажок Автосохранение в главном меню "Файл".

Создать Hello World

Теперь, когда у нас есть простая программа на C++, давайте ее создадим. Выберите команду «Терминал» > «Выполнить задачу сборки» ( ⇧⌘B (Windows, Linux Ctrl+Shift+B )) в главном меню.

Выполнить пункт меню

Появится раскрывающийся список с различными вариантами задач компилятора. Если вы используете набор инструментов GCC, такой как MinGW, вы должны выбрать C/C++: g++.exe построить активный файл.

Выберите g++.exe задача

Это скомпилирует helloworld.cpp и создаст исполняемый файл с именем helloworld.exe , который появится в проводнике.

helloworld.exe в файле Проводник

Запустить Hello World

Из командной строки или нового интегрированного терминала VS Code теперь вы можете запустить свою программу, введя ".\helloworld".

Запустите hello world в VS Интегрированный терминал

Если все настроено правильно, вы должны увидеть вывод "Hello World".

Это очень простой пример, который поможет вам начать разработку на C++ в VS Code. Следующим шагом является использование одного из перечисленных ниже руководств на вашей платформе (Windows, Linux или macOS) с предпочитаемым набором инструментов (GCC, Clang, Microsoft C++) и получение дополнительных сведений о языковых функциях расширения Microsoft C/C++, таких как IntelliSense. , навигация по коду, конфигурация сборки и отладка.

Учебники

Начните работу с C++ и VS Code с помощью руководств для вашей среды:

Документация

Дополнительную документацию по использованию расширения Microsoft C/C++ можно найти в разделе C++ на веб-сайте VS Code, где вы найдете темы по следующим темам:

C++ TOC на code.visualstudio.ком

Удаленная разработка

VS Code и расширение C++ поддерживают удаленную разработку, позволяя вам работать через SSH на удаленном компьютере или виртуальной машине, внутри контейнера Docker или в подсистеме Windows для Linux (WSL).

Чтобы установить поддержку удаленной разработки:

  1. Установите пакет расширения удаленной разработки VS Code.
  2. Если удаленные исходные файлы размещены в WSL, используйте расширение Remote-WSL.
  3. Если вы подключаетесь к удаленному компьютеру с помощью SSH, используйте расширение Remote — SSH.
  4. Если удаленные исходные файлы размещены в контейнере (например, Docker), используйте расширение Remote — Containers.

Отзыв

Если у вас возникнут какие-либо проблемы или у вас есть предложения по расширению Microsoft C/C++, сообщите о проблемах и предложениях на GitHub. Если вы еще не предоставили отзыв, пройдите небольшой опрос, чтобы настроить это расширение в соответствии с вашими потребностями.

Эта фиксация не принадлежит ни к одной из веток в этом репозитории и может принадлежать ответвлению за пределами репозитория.

  • Открыть с рабочего стола
  • Просмотреть в необработанном виде
  • Копировать исходное содержимое Копировать необработанное содержимое

Копировать необработанное содержимое

Копировать необработанное содержимое

Проекты Visual Studio — C++

Проект Visual Studio — это проект, основанный на системе сборки MSBuild. MSBuild — это собственная система сборки для Visual Studio и, как правило, лучшая система сборки для программ, специфичных для Windows. MSBuild тесно интегрирован с Visual Studio, но вы также можете использовать его из командной строки. Для кроссплатформенных проектов или проектов, использующих библиотеки с открытым исходным кодом, мы рекомендуем использовать проекты CMake в Visual Studio в Visual Studio 2017 и более поздних версиях. Сведения об обновлении проектов MSBuild из более ранних версий Visual Studio см. в Руководстве по переносу и обновлению Microsoft C++.

Создать проект

Вы можете создавать проекты C++, выбрав «Файл» > «Создать» > «Проект», а затем задав для параметра «Язык» значение C++. В списке результатов вы видите список шаблонов проектов, которые можно отфильтровать, задав платформу или тип проекта и введя ключевые слова в поле поиска.

Снимок экрана мастера создания нового проекта в Visual Studio.

Вы можете создавать проекты C++, выбрав «Файл» > «Создать» > «Проект», а затем выбрав Visual C++ на левой панели. На центральной панели вы видите список шаблонов проектов:

 Снимок экрана диалогового окна «Новый проект», показывающего доступные шаблоны проектов». ширина=

Дополнительные сведения обо всех шаблонах проектов по умолчанию, включенных в Visual Studio, см. в разделе Шаблоны проектов C++ в Visual Studio. Вы можете создавать собственные шаблоны проектов. Дополнительные сведения см. в разделе Как создавать шаблоны проектов.

После создания проекта он появляется в окне обозревателя решений:

Снимок экрана окна обозревателя решений.

При создании нового проекта также создается файл решения (.sln). Вы можете добавить в решение дополнительные проекты, щелкнув его правой кнопкой мыши в обозревателе решений. Файл решения используется для координации зависимостей сборки, когда у вас есть несколько связанных проектов, но не более того. Все параметры компилятора задаются на уровне проекта.

Добавьте файлы исходного кода, значки или любые другие элементы в свой проект, щелкнув проект правой кнопкой мыши в обозревателе решений и выбрав "Добавить" > "Создать" или "Добавить" > "Существующий".

Добавить сторонние библиотеки

Чтобы добавить сторонние библиотеки, используйте диспетчер пакетов vcpkg. Выполните шаг интеграции с Visual Studio, чтобы настроить пути к этой библиотеке при ссылке на нее из любого проекта Visual Studio.

Установка параметров компилятора и других свойств сборки

Чтобы настроить параметры сборки для проекта, щелкните проект правой кнопкой мыши в обозревателе решений и выберите "Свойства". Дополнительные сведения см. в разделе Настройка компилятора C++ и свойств сборки в Visual Studio.

Скомпилировать и запустить

Чтобы скомпилировать и запустить новый проект, нажмите F5 или щелкните раскрывающееся меню отладки с зеленой стрелкой на главной панели инструментов. В раскрывающемся меню конфигурации вы можете выбрать, следует ли выполнять сборку Отладка или Выпуск (или какую-либо другую пользовательскую конфигурацию).

Новый проект компилируется без ошибок. При добавлении собственного кода вы можете иногда вводить ошибку или вызывать предупреждение. Ошибка препятствует завершению сборки; предупреждение не делает.Все ошибки и предупреждения будут отображаться как в окне вывода, так и в списке ошибок при построении проекта.

Снимок экрана окна вывода и списка ошибок.

В списке ошибок вы можете нажать F1 на выделенной ошибке, чтобы перейти к соответствующему разделу документации.

В этом разделе

Настройка компилятора C++ и сборка свойств в Visual Studio
Как использовать страницы свойств и листы свойств для указания параметров проекта.

Организация выходных файлов проекта
Как настроить расположение исполняемых файлов, созданных в процессе сборки.

Пользовательские шаги сборки и события сборки
Как добавить любую произвольную команду в процесс сборки в заданных точках.

Создание проекта из существующего кода
Как создать новый проект Visual Studio из разрозненной коллекции исходных файлов.

Лучшее руководство по созданию приложения с графическим интерфейсом на C++

Для разработки приложения с графическим интерфейсом пользователя C++ или C++ с графическим пользовательским интерфейсом необходима среда IDE, поддерживающая приложение C++ с графическим интерфейсом пользователя. Чтобы создать приложение с графическим интерфейсом, необходимо использовать Visual Studio 2019, так как он лучше подходит для приложения с графическим интерфейсом C++. В этом руководстве вы подробно узнаете, как создать приложение с графическим интерфейсом на C++.

Как создать проект и настроить Visual Studio для запуска приложения с графическим интерфейсом C++?

Итак, начнем с создания проекта в Visual Studio. После открытия приложения Visual Studio вам необходимо выбрать параметры разработки для Visual C++ и выбрать цветовую тему.

После того, как вы закончите с этим, вам нужно нажать на кнопку "Создать новый проект".

C++GUI_Example1.

C++_GUI_Example2

На следующем шаге вы можете написать название проекта и выбрать местоположение проекта.

После того, как вы закончите с этим, вы можете нажать «Создать», и проект будет создан.

Программа последипломного образования: полная веб-разработка

Создание приложения Windows Form

Поскольку проект был создан, теперь вы создадите приложение формы Windows, и для этого вы должны создать файл формы. Щелкните значок этого проекта на верхней панели и выберите Добавить новый элемент.

C++_GUI_Example3

После этого шага выберите пользовательский интерфейс в Visual C++, щелкните форму Windows и нажмите "добавить", чтобы открыть файл формы.

C++_GUI_Example4

Теперь вы выполните некоторые дополнительные настройки. Снова вы должны нажать «Проект» -> «Свойства», откроются свойства конфигурации и выберите «Компоновщик», а в раскрывающемся списке нажмите «Система». При нажатии на систему появится опция подсистемы, и вы должны выбрать ее в раскрывающемся списке, потому что подсистема сообщает операционной системе, как запускать файл .exe. Вам нужно будет выбрать Windows в раскрывающемся списке.

C++_GUI_Example5

После этого шага вам необходимо выбрать точку входа. Итак, в настройках конфигурации выберите «Дополнительно», напишите «Точка входа» как основную и нажмите «ОК». Точка входа означает начальный адрес файла .exe.

После настройки нажмите файл Myform.cpp на левой панели и добавьте код в этот файл.

с использованием пространства имен System;

с использованием пространства имен System::Windows::Forms;

void main(массив ^ аргументы)

Вы можете вставить приведенный выше код в файл .cpp. Этот код показывает, как будет выполняться программа; MyProject — имя проекта; вы должны изменить его в соответствии с названием вашего проекта. В данном случае имя проекта — Project2. Точно так же MyForm — это имя файла формы; вы также можете изменить его в соответствии с именем вашего файла формы и сохранить его.

Теперь нажмите Myform.h, и вы заметите, что часть кодирования есть, но формы нет. Таким образом, вы должны сохранить его и снова открыть визуальную студию после ее закрытия.

После открытия визуальной студии необходимо щелкнуть Myform.h, и форма окна появится, как показано на рисунке ниже.

C++_GUI_Example7.

Теперь вы можете проверить форму, запустив ее, поэтому вы можете нажать кнопку локального отладчика Windows, и, если она работает нормально, вы должны добавить некоторые кнопки в форму Windows.

Теперь давайте научимся создавать приложение с графическим интерфейсом C++.

Новый курс: разработка полного стека для начинающих

Приложение-калькулятор C++ с графическим интерфейсом

Поскольку вы успешно создали форму Windows, теперь вам нужно разработать приложение-калькулятор, и для этого вам нужно добавить в форму несколько кнопок и текстовых полей. Чтобы добавить текстовое поле, щелкните панель инструментов на правой боковой панели и найдите текстовое поле. Чтобы добавить текстовое поле в форму, нажмите на текстовое поле и отпустите его над формой.

C++_GUI_Example9.

После добавления вы можете настроить размер текстового поля, щелкнув Свойства -> Шрифты, и настроить его в соответствии со своими требованиями.

C++_GUI_Example10

Аналогичным образом вы можете создать еще одно текстовое поле и настроить его размер и шрифт. Вы должны создать два текстовых поля, потому что вы хотите, чтобы вычислялись два числа или цифры. Вы можете либо создать текстовое поле снова, либо скопировать первое и вставить его в форму.

Затем вы можете добавить метку между обоими текстовыми полями в качестве оператора. Чтобы добавить метку, вы можете снова перейти на панель инструментов и добавить метку оттуда, настроить ее из шрифтов и написать текст внутри нее из параметра текста внутри свойств.

После настройки форма будет выглядеть так, как показано на рисунке.

C++_GUI_Example11

Теперь вам нужно добавить в этот калькулятор несколько кнопок, таких как сложение, умножение и т. д. Чтобы добавить кнопку, нажмите на панель инструментов и добавьте кнопки оттуда. В отличие от текстовых полей, вы можете просто изменить размер кнопки, щелкнув ее и отрегулировав ее вручную. Но чтобы изменить текст, вам нужно зайти в свойства -> текст и написать текст, как в этом случае, вы должны написать символ +.

Аналогично вам потребуется добавить еще три кнопки для вычитания, умножения и деления.

C++_GUI_Example12

Вы также можете изменить цвет текста в свойствах. Чтобы отобразить результат, добавьте в форму метку, в которой будет отображаться вычисленный результат, и назовите ее Результат.

C++_GUI_Example13

Поскольку компоновка калькулятора завершена, теперь вы добавите в него функциональные возможности.

Чтобы добавить функциональность кнопкам, вам нужно знать настоящие названия этих кнопок или меток. Имена можно узнать, нажав кнопку или метку, а затем щелкнув свойства, чтобы имя отображалось поверх свойств. Например, на рисунке ниже показано имя текстового поля. Точно так же названия кнопок: кнопка1, кнопка2, кнопка3, кнопка4.

C++_GUI_Example14.

Теперь дважды щелкните кнопку добавления (+), чтобы добавить функциональность.

C++_GUI_Example15

После двойного щелчка по кнопке добавления откроется файл Myform.h, и вы должны создать обработчик событий для этой кнопки добавления с фактическим именем button1.

Вам нужно сделать добавление, нажав эту кнопку (+), поэтому давайте напишем следующий код.

C++_GUI_Example16

Здесь вы объявили переменную output, в которой будет храниться результат. TextBox1 — это имя текстового поля, а оператор стрелки дает доступ к членам объекта. Оператор стрелки указывает на текст, что означает, что вы должны изменить текст textBox1. Точно так же вы должны сделать это для textBox2 и добавить их обоих.

Вы знаете, что все, что вы напишете внутри текстового поля, будет текстом или может быть строкой, и вы не можете добавлять строки. Итак, вам нужно преобразовать эти строки в целые числа. System::Convert::ToInt16 преобразует строку в целое число.

Чтобы отобразить текст, напишите фактическое имя метки "Результат", т. е. метка2. Здесь вы снова используете оператор стрелки, указывающий на текст, потому что вы хотите изменить текст и распечатать вывод.

Полный курс веб-разработчика

Чтобы распечатать результат или выходные данные, преобразуйте целое число в строку с помощью System::Convert::ToString(output), поскольку вы уже выполнили вычисления.

Вы также можете проверить, правильно ли работает код, нажав кнопку локального отладчика Windows и добавив значения в форму.

C++_GUI_Example17

Вы добавили функциональность для кнопки добавления (+). Точно так же вы должны дважды щелкнуть по кнопке вычитания и сделать то же самое для нее, но только знаки будут другими. Аналогично, для всех кнопок необходимо выполнить одни и те же действия.

C++_GUI_Example18

Аналогичным образом вы собираетесь сделать это для кнопок умножения и деления.

C++_GUI_Example19.

После того, как вы закончите с этим, вы можете проверить, правильно ли он работает, запустив его, а затем выполнив сложение, вычитание, умножение и деление в калькуляторе.

C++_GUI_Example20

Если все операции работают нормально, это означает, что приложение-калькулятор с графическим интерфейсом C++ создано.

Заключение

После прочтения этого руководства по графическому интерфейсу пользователя C++ вы поняли, как создать проект и настроить Visual Studio для запуска приложения графического интерфейса пользователя C++ и приложения создания форм Windows. Вы также узнаете, как создать приложение с графическим интерфейсом C++.

Если вы хотите построить карьеру в области разработки программного обеспечения, ознакомьтесь с программой последипломного образования в Full Stack Development от Simplilearn. Это может оказаться идеальным решением, которое поможет вам правильно построить свою карьеру.

Есть ли у вас какие-либо вопросы относительно этого руководства по C++ GUI? Если вы это сделаете, то оставьте их в разделе комментариев. Мы поможем вам решить ваши вопросы. Чтобы узнать больше о графическом интерфейсе C++, щелкните следующую ссылку: Графический интерфейс C++.

Об авторе

Простое обучение

Simplilearn — один из ведущих мировых поставщиков онлайн-обучения по цифровому маркетингу, облачным вычислениям, управлению проектами, науке о данных, ИТ, разработке программного обеспечения и многим другим новым технологиям.

Читайте также: