- Пошаговое руководство. Работа с проектами и решениями (C++)
- Перед началом работы
- Создание проекта
- Создание проекта в Visual Studio
- Создание проекта в Visual Studio 2017
- Создание проекта в Visual Studio 2015
- Упорядочение файлов и проектов
- Добавление класса в проект
- Добавление тестового кода в функцию main
- Добавление тестового кода в проект
- Сборка и запуск проекта приложения
- Построение и запуск проекта
- Среды разработки
- Настройка проекта
Пошаговое руководство. Работа с проектами и решениями (C++)
В этой статье описано, как создать проект C++ в Visual Studio, добавить код, а затем выполнить сборку и запуск проекта. Проект в этом пошаговом руководстве представляет собой программу, которая отслеживает количество игроков в различных карточных играх.
В Visual Studio для организации работы служат проекты и решения. Решение может содержать несколько проектов, например библиотеку DLL и ссылающийся на нее исполняемый файл. Дополнительные сведения см. в статье Solutions and Projects (Решения и проекты).
Перед началом работы
Для выполнения данного пошагового руководства требуется Visual Studio 2017 или более поздней версии. Если вам нужна копия, вот краткое руководство: Установка поддержки С++ в Visual Studio. Если вы еще не сделали этого, выполните приведенные ниже шаги после установки в рамках руководства «Hello, World», чтобы убедиться в правильности установки и работы компонентов C++.
Полезно владеть основами языка C++ и понимать назначение компилятора, компоновщика и отладчика. В руководстве также предполагается, что вы знакомы с Windows и умеете использовать меню и диалоговые окна.
Создание проекта
Чтобы создать проект, сначала выберите шаблон типа проекта. Для каждого типа проекта среда Visual Studio задает параметры компилятора и — в зависимости от типа — создает начальный код, который позже можно изменить. Следующие действия зависят от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание проекта в Visual Studio
- В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.
- В верхней части диалогового окна задайте для параметра Язык значение C++, для параметра Платформа значение Windows, а для Типа проекта — Консоль.
- В отфильтрованном списке типов проектов щелкните Консольное приложение, а затем нажмите кнопку Далее. На следующей странице введите имя проекта Игра. Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект. При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
- Нажмите кнопку Создать, чтобы создать проект. Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2017
- В строке меню выберите Файл>Создать>Проект.
- В левой области диалогового она Новый проект разверните узел Установленные и выберите Visual C++ , если он еще не открыт.
- В списке установленных шаблонов в центральной области выберите Консольное приложение.
- В поле Имя введите имя проекта. Для этого примера введите Game (Игра). Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект. При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
- Нажмите кнопку ОК, чтобы создать проект. Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2015
- В строке меню выберите Файл>Создать>Проект.
- В левой области диалогового она Новый проект разверните узел Установленные и выберите Visual C++ , если он еще не открыт.
- В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Win32.
- В поле Имя введите имя проекта. Для этого примера введите Game (Игра). Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект. При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Новый проект, и запустите мастер приложений Win32.
- В мастере нажмите кнопку Далее . На странице Параметры приложения в разделе Дополнительные параметрыснимите флажок Предкомпилированный заголовок .
- Нажмите кнопку Готово , чтобы создать проект. Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Упорядочение файлов и проектов
Для организации проектов, файлов и других ресурсов в решении, а также для управления ими можно использовать обозреватель решений.
В этой части пошагового руководства описывается добавление класса в проект. При добавлении класса Visual Studio добавляет соответствующие H- и CPP-файлы. Результаты отображаются в обозревателе решений.
Добавление класса в проект
- Если окно Обозреватель решений не отображается в Visual Studio, выберите в строке меню Вид>Обозреватель решений.
- Выберите проект Game в обозревателе решений. В строке меню выберите Проект>Добавить класс.
- В диалоговом окне Добавление класса в поле Имя класса введите значение Cardgame. Не изменяйте имена файлов и параметры по умолчанию. Нажмите кнопку ОК . Visual Studio создает файлы и добавляет их в проект. Вы можете просмотреть их в обозревателе решений. Visual Studio откроет файлы Cardgame.h и Cardgame.cpp в редакторе.
- Внесите в файл Cardgame.h следующие изменения.
- После открывающей скобки определения класса добавьте два частных элемента данных.
int players; static int totalParticipants;
После изменения файл Cardgame.h должен выглядеть примерно так:
#pragma once class Cardgame < int players; static int totalParticipants; public: Cardgame(int players); ~Cardgame(); static int GetParticipants() < return totalParticipants; >>;
Строка #pragma once указывает компилятору включить файл заголовка только один раз. Для получения дополнительной информации см. once . Сведения о других ключевых словах C++ в файле заголовка см. в разделе class , int , static и public .
#include "Cardgame.h" #include using namespace std; int Cardgame::totalParticipants = 0; Cardgame::Cardgame(int players) : players(players) < totalParticipants += players; cout Cardgame::~Cardgame()
Примечание При вводе кода можно использовать автозавершение. Например, при вводе кода с клавиатуры можно ввести pl или tot и нажать клавиши Ctrl+Пробел. Функция автозавершения автоматически вводит players или totalParticipants .
Добавление тестового кода в функцию main
Добавьте в приложение код, тестирующий новые функции.
Добавление тестового кода в проект
// Game.cpp : Defines the entry point for the console application. // #include "Cardgame.h" #include using namespace std; void PlayGames() < Cardgame bridge(4); Cardgame blackjack(8); Cardgame solitaire(1); Cardgame poker(5); >int main()
Сборка и запуск проекта приложения
Затем выполните сборку проекта и запустите приложение.
Построение и запуск проекта
- В строке меню последовательно выберите Сборка>Собрать решение. Выходные данные сборки выводятся в окне Вывод. Если сборка пройдет успешно, выходные данные должны выглядеть следующим образом:
1>------ Build started: Project: Game, Configuration: Debug Win32 ------ 1>pch.cpp 1>Cardgame.cpp 1>Game.cpp 1>Generating Code. 1>Game.vcxproj -> C:\Users\\source\repos\Game\Debug\Game.exe ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
4 players have started a new game. There are now 4 players in total. 8 players have started a new game. There are now 12 players in total. 1 players have started a new game. There are now 13 players in total. 5 players have started a new game. There are now 18 players in total.
Вы успешно выполнили сборку проекта приложения и решения. Продолжайте выполнять пошаговое руководство, чтобы получить дополнительные сведения о сборке проектов кода C++ в Visual Studio.
Среды разработки
Для создания программы на C++ нам нужны, как минимум, две вещи: текстовый редактор для набора кода и компилятор для превращения этого кода в приложение. При этом для компиляции необходимо запускать консоль или терминал. Однако есть и более удобный способ - использование различных сред разработки или IDE. Они, как правило, содержит встроенный текстовый редактор, компилятор и позволяют скомпилировать и запустить программу по одному клику мыши, а также имеют еще множество разных вспомогательных возможностей.
Для программирования под Windows наиболее популярной средой разработки, если говорить о C++, является Visual Studio. Данную среду можно найти по ссылке https://visualstudio.microsoft.com/ru/vs/community/.
После загрузки и запуска установщика Visual Studio в нем необходимо отметить пункт Разработка классических приложений на C++ :
Выбрав все необходимые пункты, нажмем ОК для запуска установки. После установки Visual Studio создадим первый проект. Для этого откроем Visual Studio. На стартовом экране среди шаблонов проектов для языка C++ выберем тип Console App , который представляет шаблон консольного приложения:
На следующем экране в поле для имени проекта дадим проекту имя HelloApp и также можно указать расположение проекта. И затем нажмем на Create для создания проекта.
После этого Visual Studio создаст типовой проект консольного приложения на C++.
Справа в окне Solution Explorer отображается структура проекта. В реальности окно Solution Explorer содержит в решение. В данном случае оно называется HelloApp. Решение может содержать несколько проектов. По умолчанию у нас один проект, который имеет то же имя - HelloApp. В проекте есть ряд узлов:
- External Dependencies : отображает файлы, которые используются в файлах исходного кода, но не являются частью проекта
- Header Files : предназначена для хранения заголовочных файлов с расширением .h
- Resource Files : предназначена для хранения файлов ресурсов, например, изображений
- Source Files : хранит файлы с исходным кодом
По умолчанию каталог Source Files содержит один файл с исходным кодом - HelloApp.cpp ( название проекта + расширение файла .cpp - как правило, исходные файлы на C++ имеют расширение .сpp ).
HelloApp.cpp содержит код на языке C++, и именно этот код мы можем увидеть в слева в текстовом редакторе Visual Studio. По умолчанию HelloApp.cpp содержит следующий код:
#include // подключение модуля iostream int main() // определяем функцию main < // начало функции std::cout
Здесь использован весь тот код, который был рассмотрен в начальных темах.
Теперь запустим программу. Для этого в Visual Studio нажмем на сочетание клавиш Ctrl+F5 или выберем пункт меню Debug -> Start Without Debugging :
И в итоге Visual Studio передаст исходный код компилятору, который скомпилирует из кода исполняемый файл exe, который потом будет запущен на выполнение. И мы увидим на запущенной консоли наше сообщение:
После этого на жестком диске в папке решения в каталоге \x64\Debug скомпилированный файл exe, который мы можем запускать независимо от Visual Studio:
В данном случае файл HelloApp.exe как раз и представляет скомпилированный исполняемый файл. И, кроме того, в той же папке автоматически генерируется вспомогательный файл - HelloApp.pdb , который содержит отладочную информацию.
Настройка проекта
Для языка C++ есть несколько стандартов, каждый из которых добавляет некоторые дополнительные возможности. И Visual Studio позволяет задать стандарт, который будет использоваться при компиляции приложения. Для этого перейдем к свойствам проекта:
А в окне свойств перейдем к пункту Configuration Properties -> C/C++ -> Language . На открывшемся окне свойств с помощью опции C++ Language Standard можно задать стандарт языка, который мы хотим использовать: