Перейти к содержимому

Как скомпилировать в visual studio

  • автор:

Системы сборки и проекты C/C++ в Visual Studio

Visual Studio можно использовать для изменения, компиляции и сборки любой базы кода C++ с полной поддержкой IntelliSense без преобразования этого кода в проект Visual Studio или компиляции с помощью набора инструментов MSVC. Например, можно изменить кроссплатформенный проект CMake в Visual Studio на компьютере Windows, а затем скомпилировать его для Linux с помощью g++ на удаленном компьютере Linux.

Компиляция C++

Сборка программы C++ — это компиляция исходного кода из одного или нескольких файлов и последующее связывание этих файлов в исполняемый файл (EXE), библиотеку динамической загрузки (DLL) или статическую библиотеку (LIB).

Процесс базовой компиляции C++ состоит из трех основных этапов.

  • Препроцессор C++ преобразует все определения #директив и макросов в каждом исходном файле. При этом создается единица трансляции.
  • Компилятор C++ компилирует каждую единицу трансляции в объектные файлы (OBJ), применяя заданные параметры компилятора.
  • Компоновщик объединяет объектные файлы в один исполняемый файл, применяя заданные параметры компоновщика.

Набор инструментов MSVC

В набор инструментов компилятора MSVC (также называемого цепочкой инструментов или средствами сборки) входят компилятор, компоновщик, стандартные библиотеки и связанные служебные программы Microsoft C++. Они включены в состав в Visual Studio. Вы также можете скачать и использовать набор инструментов командной строки в качестве бесплатного автономного пакета. Дополнительные сведения см. в разделе «Средства сборки для Visual Studio» на странице «Загрузки Visual Studio «.

Вы можете создавать простые программы, вызывая компилятор MSVC (cl.exe) непосредственно из командной строки. Следующая команда принимает один файл исходного кода и вызывает cl.exe для создания исполняемого файла с именем hello.exe:

cl /EHsc hello.cpp 

Здесь компилятор (cl.exe) автоматически вызывает препроцессор и компоновщик C++ для создания окончательного выходного файла. Дополнительные сведения см. в статье Сборка из командной строки.

Системы сборки и проекты

Большинство реальных программ используют некую систему сборки для управления сложностями компиляции нескольких исходных файлов для нескольких конфигураций (для отладки и выпуска), нескольких платформ (x86, x64, ARM и т. д.), настраиваемых шагов сборки и даже нескольких исполняемых файлов, которые должны быть скомпилированы в определенном порядке. Вы выполняете настройки в файле конфигурации сборки, а система сборки принимает этот файл в качестве входных данных перед вызовом компилятора. Набор файлов исходного кода и файлов конфигурации сборки, необходимых для создания исполняемого файла, называется проектом.

Далее приведены различные варианты для проектов Visual Studio — C++.

  • Создайте проект Visual Studio с помощью интегрированной среды разработки Visual Studio и настройте его, используя страницы свойств. Проекты Visual Studio создают программы, работающие в Windows. Общие сведения см. в статье Компиляция и сборка в документации по Visual Studio.
  • Откройте папку, содержащую файл CMakeLists.txt. Поддержка CMake интегрирована в Visual Studio. Интегрированную среду разработки можно использовать для редактирования, тестирования и отладки без изменения файлов CMake. При этом вы можете работать в том же проекте CMake, что и другие пользователи, которые могут использовать другие редакторы. Поэтому CMake является рекомендуемым вариантом для кроссплатформенной разработки. Дополнительные сведения см. в статье Проекты CMake.
  • Откройте свободную папку исходных файлов, где нет файла проекта. Для создания файлов в Visual Studio будет использоваться эвристика. Это простой способ компиляции и запуска небольших консольных приложений. Дополнительные сведения см. в статье Проекты «Открыть папку» для C++.
  • Откройте папку, содержащую файл makefile или любой другой файл конфигурации системы сборки. Вы можете настроить Visual Studio для вызова любых произвольных команд сборки, добавив файлы JSON в папку. Дополнительные сведения см. в статье Проекты «Открыть папку» для C++.
  • Откройте файл makefile Windows в Visual Studio. Дополнительные сведения см. в разделе Справочник по программе NMAKE.

Использование MSBuild из командной строки

Вы можете вызвать систему MSBuild из командной строки, передав ей VCXPROJ-файл вместе с параметрами командной строки. Для реализации этого подхода требуется хорошее понимание MSBuild, а использовать его рекомендуется только в случае необходимости. Дополнительные сведения см. в разделе MSBuild.

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

Проекты Visual Studio
Создание, настройка и сборка проектов C++ в Visual Studio с помощью собственной системы сборки (MSBuild).

Проекты CMake
Создание, сборка и развертывание проектов CMake в Visual Studio.

Проекты в виде папок
Создание, сборка и развертывание проектов C++ в Visual Studio с помощью любой произвольной системы сборки или без нее.

Сборки выпуска
Создание и устранение неполадок оптимизированных сборок выпуска для развертывания в системах конечных пользователей.

Использование набора инструментов MSVC из командной строки
Описание использования компилятора C/C++ и средств сборки непосредственно из командной строки, а не с помощью интегрированной среды разработки Visual Studio.

Создание библиотек DLL в Visual Studio
Создание, отладка и развертывание библиотек DLL (общих библиотек) C/C++ в Visual Studio.

Создание изолированных приложений и параллельных сборок C/C++
Описывает модель развертывания для классических приложений Windows, основанную на концепции изолированных приложений и параллельных сборок.

Настройка проектов C++ для 64-разрядных целевых объектов с архитектурой x64
Нацеливание на 64-разрядное оборудование с архитектурой x64 с использованием средств сборки MSVC.

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

Оптимизация кода
Оптимизация кода различными способами, включая программную оптимизацию.

Настройка программ для Windows XP
Нацеливание на Windows XP с использованием средств сборки MSVC.

Справочные сведения о сборке C/C++
Содержит ссылки на справочные статьи о сборке программ на C++, о параметрах компилятора и компоновщика, а также о различных средствах сборки.

Компиляция и сборка в Visual Studio

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

Сборку приложения можно выполнять с помощью интегрированной среды разработки Visual Studio, программ командной строки MSBuild и Azure Pipelines:

Метод построения Льготы
IDE — Немедленное создание сборок и тестирование их в отладчике.
— Запуск многопроцессорных сборок для проектов C++ и C#.
— Настройка различных аспектов системы сборки.
CMake. — Создание проектов C++ с помощью средства CMake
– Использование одной и той же системы сборки на платформах Linux и Windows.
Командная строка MSBuild — Сборка проектов без установки Visual Studio.
— Запуск многопроцессорных сборок для всех типов проектов.
— Настройка большинства аспектов системы сборки.
Azure Pipelines — Автоматизация процесса сборки в рамках конвейера непрерывной интеграции или поставки.
— Применение автоматических тестов для каждой сборки.
— Использование практически неограниченных облачных ресурсов для процессов сборки.
— Возможность изменения рабочего процесса сборки и создания процедур сборки с подробно настраиваемыми задачами.

В этом разделе подробно рассматривается сборка на основе IDE. Дополнительные сведения о других методах см. в разделах CMakeMSBuild и Azure Pipelines соответственно.

Создание в интегрированной среде разработки

При создании проекта среда Visual Studio создает для него конфигурации сборки по умолчанию, а также содержащее проект решение. Эти конфигурации определяют, как выполняется сборка и развертывание решений и проектов. В частности, используются уникальные конфигурации проектов для разных целевых платформ (например, Windows или Linux) и типов сборки (например, отладка или выпуск). Вы можете как угодно изменять эти конфигурации и при необходимости создавать свои собственные.

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

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

  • Общие сведения о конфигурациях сборок
  • Настройка проектов для целевых платформ
  • Управление свойствами проектов и решений
  • Назначение событий построения в C# и Visual Basic
  • Задание параметров сборок
  • Параллельная сборка нескольких проектов

Связанный контент

  • Сборка (компиляция) проектов веб-узлов
  • Компиляция и сборка (Visual Studio для Mac)
  • Проекты CMake в Visual Studio

Среды разработки

Для создания программы на C++ нам нужны, как минимум, две вещи: текстовый редактор для набора кода и компилятор для превращения этого кода в приложение. При этом для компиляции необходимо запускать консоль или терминал. Однако есть и более удобный способ — использование различных сред разработки или IDE. Они, как правило, содержит встроенный текстовый редактор, компилятор и позволяют скомпилировать и запустить программу по одному клику мыши, а также имеют еще множество разных вспомогательных возможностей.

Для программирования под Windows наиболее популярной средой разработки, если говорить о C++, является Visual Studio. Данную среду можно найти по ссылке https://visualstudio.microsoft.com/ru/vs/community/.

После загрузки и запуска установщика Visual Studio в нем необходимо отметить пункт Разработка классических приложений на C++ :

Установка С++ в Visual Studio

Выбрав все необходимые пункты, нажмем ОК для запуска установки. После установки Visual Studio создадим первый проект. Для этого откроем Visual Studio. На стартовом экране среди шаблонов проектов для языка C++ выберем тип Console App , который представляет шаблон консольного приложения:

Первый проект на C++ в Visual Studio

На следующем экране в поле для имени проекта дадим проекту имя HelloApp и также можно указать расположение проекта. И затем нажмем на Create для создания проекта.

Создание проекта консольного приложения на C++ в Visual Studio

После этого Visual Studio создаст типовой проект консольного приложения на C++.

Первый проект консольного приложения на C++ в Visual Studio

Справа в окне 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 :

Запуск программы на C++ в Visual Studio

И в итоге Visual Studio передаст исходный код компилятору, который скомпилирует из кода исполняемый файл exe, который потом будет запущен на выполнение. И мы увидим на запущенной консоли наше сообщение:

Первое приложение на языке программирования C++

После этого на жестком диске в папке решения в каталоге \x64\Debug скомпилированный файл exe, который мы можем запускать независимо от Visual Studio:

Компиляция кода на языке программирования C++

В данном случае файл HelloApp.exe как раз и представляет скомпилированный исполняемый файл. И, кроме того, в той же папке автоматически генерируется вспомогательный файл - HelloApp.pdb , который содержит отладочную информацию.

Настройка проекта

Для языка C++ есть несколько стандартов, каждый из которых добавляет некоторые дополнительные возможности. И Visual Studio позволяет задать стандарт, который будет использоваться при компиляции приложения. Для этого перейдем к свойствам проекта:

Установка стандарта языка программирования C++ в среде Visual Studio

А в окне свойств перейдем к пункту Configuration Properties -> C/C++ -> Language . На открывшемся окне свойств с помощью опции C++ Language Standard можно задать стандарт языка, который мы хотим использовать:

Как скомпилировать в visual studio

Чтобы облегчить написание, а также тестирование и отладку программного кода нередко используют специальные среды разработки, в частности, Visual Studio. Рассмотрим создание приложений на C# с помощью бесплатной и полнофункциональной среды Visual Studio Community 2022, которую можно загрузить по следующему адресу: Microsoft Visual Studio 2022

Установка Visual Studio 2022

После загрузки запустим программу установщика. В открывшемся окне нам будет предложено выбрать те компоненты, которые мы хотим установить вместе Visual Studio. Стоит отметить, что Visual Studio - очень функциональная среда разработки и позволяет разрабатывать приложения с помощью множества языков и платформ. В нашем случае нас будет интересовать прежде всего C# и .NET.

Чтобы добавить в Visual Studio поддержку проектов для C# и .NET, в программе установки среди рабочих нагрузок можно выбрать только пункт ASP.NET и разработка веб-приложений . Можно выбрать и больше опций или вообще все опции, однако стоит учитывать свободный размер на жестком диске - чем больше опций будет выбрано, соответственно тем больше места на диске будет занято.

Установка Visual Studio 2022

И при инсталляции Visual Studio на ваш компьютер будут установлены все необходимые инструменты для разработки программ, в том числе фреймворк .NET.

После завершения установки создадим первую программу. Она будет простенькой. Вначале откроем Visual Studio. На стартовом экране выберем Create a new project (Создать новый проект)

Создание первого проекта в Visual Studio 2022

На следующем окне в качестве типа проекта выберем Console App , то есть мы будем создавать консольное приложение на языке C#

Проект консольного приложения на C# и .NET в Visual Studio 2022

Чтобы проще было найти нужный тип проекта, в поле языков можно выбрать C# , а в поле типа проектов - Console .

Далее на следующем этапе нам будет предложено указать имя проекта и каталог, где будет располагаться проект.

Создание первого приложения на C#

В поле Project Name дадим проекту какое-либо название. В моем случае это HelloApp .

На следующем окне Visual Studio предложит нам выбрать версию .NET, которая будет использоваться для проекта. Выберем последнюю на данный момент верси. - .NET 8.0:

Установка C# и .NET в Visual Studio

Нажмем на кнопку Create (Создать) для создания проекта, и после этого Visual Studio создаст и откроет нам проект:

Первый проект на C#

В большом поле в центре, которое по сути представляет текстовый редактор, находится сгенерированный по умолчанию код C#. Впоследствии мы изменим его на свой.

Справа находится окно Solution Explorer, в котором можно увидеть структуру нашего проекта. В данном случае у нас сгенерированная по умолчанию структура: узел Dependencies - это узел содержит сборки dll, которые добавлены в проект по умолчанию. Эти сборки как раз содержат классы библиотеки .NET, которые будет использовать C#. Однако не всегда все сборки нужны. Ненужные потом можно удалить, в то же время если понадобится добавить какую-нибудь нужную библиотеку, то именно в этот узел она будет добавляться.

Далее идет непосредственно сам файл кода программы Program.cs , который по умолчанию открыт в центральном окне и который имеет всего две строки:

// See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, World!");

Первая строка предваряется символами // и представляет комментарии - пояснения к коду.

Вторая строка собственно представляет собой код программы: Console.WriteLine("Hello World!"); . Эта строка выводит на консоль строку "Hello World!".

Несмотря на то, что программа содержит только одну строку кода, это уже некоторая программа, которую мы можем запустить. Запустить проект мы можем с помощью клавиши F5 или с панели инструментов, нажав на зеленую стрелку. И если вы все сделали правильно, то при запуске приложения на консоль будет выведена строка "Hello World!".

Первое приложение на C# и .NET

Теперь изменим весь этот код на следующий:

Console.Write("Введите свое имя: "); var name = Console.ReadLine(); // вводим имя Console.WriteLine($"Привет "); // выводим имя на консоль

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

Console.Write("Введите свое имя: ");

Метод Console.Write() выводит на консоль некоторую строку. В данном случае это строка "Введите свое имя: ".

На второй строке определяется строковая переменная name, в которую пользователь вводит информацию с консоли:

var name = Console.ReadLine();

Ключевое слово var указывает на определение переменной. В данном случае переменная называется name . И ей присваивается результат метода Console.ReadLine() , который позволяет считать с консоли введенную строку. То есть мы введем в консоли строку (точнее имя), и эта строка окажется в переменой name .

Затем введенное имя выводится на консоль:

Console.WriteLine($"Привет ");

Чтобы ввести значение переменной name внутрь выводимой на консоль строки, применяются фигурные скобки <>. То есть при выводе строки на консоль выражение будет заменяться на значение переменной name - введенное имя.

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

Теперь протестируем проект, запустив его на выполнение, также нажав на F5 или зеленую стрелочку.

Первая программа на C#

Скомпилированное приложение можно найти в папке проекта в каталоге bin\Debug\net8.0 . Оно будет называться по имени проекта и иметь расширение exe. И затем этот файл можно будет запускать без Visual Studio, а также переносить его на другие компьютеры, где установлен .NET 8.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *