Компиляция проекта C/C++
Параметры компилятора C и C++ можно задать в интегрированной среде разработки Visual Studio или в командной строке.
В Visual Studio
Параметры компилятора для каждого проекта можно задать в диалоговом окне «Страницы свойств Visual Studio«. В левой области выберите «Свойства конфигурации», C/C++ и выберите категорию параметра компилятора. В разделе для каждого параметра компилятора приводится описание способа задания и расположение параметра в среде разработки. Дополнительные сведения и полный список параметров см. в разделе параметров компилятора MSVC.
В командной строке
Способы настройки параметров компилятора (CL.exe):
- В командной строке
- В файлах команд
- В переменной среды CL
Параметры, заданные в переменной среды компилятора CL, используются при каждом вызове компилятора CL. Если командный файл указан в переменной среды компилятора CL или в командной строке, используются параметры, заданные в командном файле. В отличие от командной строки или переменной среды компилятора CL, командный файл позволяет использовать несколько строк для параметров и имен файлов.
Параметры компилятора обрабатываются «слева направо», и при обнаружении конфликта приоритет имеет последний (крайний справа) параметр. Переменная среды компилятора CL обрабатывается до обработки командной строки, поэтому в случае возникновения конфликтов между компилятором CL и командной строкой приоритет имеет командная строка.
Дополнительные разделы, содержащие сведения о компиляторах
- Параметры компилятора MSVC
- Файлы предварительно скомпилированных заголовков
- Вызов компоновщика компилятором CL
Сведения о выборе узла компилятора и целевой архитектуры см. в разделе «Настройка проектов C++ для 64-разрядных целевых объектов x64».
Компиляция и сборка в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Начальные сведения о сборке в 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. Информацию о Visual Studio для Mac см. в статье Компиляция и сборка в Visual Studio для Mac.
Создание в интегрированной среде разработки
При создании проекта среда Visual Studio создает для него конфигурации сборки по умолчанию, а также содержащее проект решение. Эти конфигурации определяют, как выполняется сборка и развертывание решений и проектов. В частности, используются уникальные конфигурации проектов для разных целевых платформ (например, Windows или Linux) и типов сборки (например, отладка или выпуск). Вы можете как угодно изменять эти конфигурации и при необходимости создавать свои собственные.
Начальные сведения о сборке в IDE см. в разделе Пошаговое руководство. Построение приложения.
После этого вы можете познакомиться с другими задачами:
- Общие сведения о конфигурациях сборок
- Настройка проектов для целевых платформ
- Управление свойствами проектов и решений
- Назначение событий построения в C# и Visual Basic
- Задание параметров сборок
- Параллельная сборка нескольких проектов
Связанный контент
- Сборка (компиляция) проектов веб-узлов
- Компиляция и сборка (Visual Studio для Mac)
- Проекты CMake в Visual Studio
Изменение компилятора С++ VS Code

Раньше я использовал Visual Studio для своих проектов на C++. Но я решил перейти на VS Code и установить GCC компилятор. Я скачал MinGw, установил, добавл в путь. С помощью расширения C++ через UI настроил MinGw. Но каждый раз при перезапуске компьютера у меня компилятор автоматически меняется на тот, что в Visual Studio.
[11.03.2021, 00:25:25] Для исходных файлов C++ cppStandard был изменен с «gnu++20» на «c++20» на основе аргументов компилятора и compilerPath запроса: «C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe»
Как можно исправить эту проблему и что посоветуете?
Отслеживать
123k 24 24 золотых знака 126 126 серебряных знаков 303 303 бронзовых знака
задан 10 мар 2021 в 21:37
maksim-mshp maksim-mshp
114 2 2 серебряных знака 12 12 бронзовых знаков
При перезагрузке компа или при перезапуске VS Code? Что если закрыть его до перезагрузки компа? И зачем вообще в этой схеме расширение?
10 мар 2021 в 22:02
@qwertiy при перезагрузке компа, vs code закрываю. Расширение для IntelliSense
10 мар 2021 в 22:27
Но ты же про настройку компилятора говоришь. Что всё-таки не работает — компиляция или подсветка?
11 мар 2021 в 0:51
@qwertiy проблема в том, что при перезагрузке компа автоматически менятся компилятор и мне приходится каждый раз менять его на MinGw
11 мар 2021 в 8:00
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- c++
- visual-studio-code
- gcc
Практическое руководство. Настройка проектов Visual Studio C++ для 64-разрядных платформ x64
С помощью конфигураций проектов в Visual Studio IDE можно настраивать приложения C++ как предназначенные для 64-разрядных платформ с архитектурой x64. Также можно перенести параметры проекта Win32 в конфигурацию 64-разрядного проекта.
Настройка приложений C++ как предназначенных для 64-разрядных платформ
- Откройте проект C++, который нужно настроить.
- Откройте страницы свойств для этого проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
Примечание. Для проектов .NET убедитесь, что узел «Свойства конфигурации» или один из дочерних узлов выбран в свойств проекта»>; в противном случае кнопка Configuration Manager остается недоступной.
Примечание. В диалоговом окне Создание платформы решения можно воспользоваться командой Копировать параметры из , чтобы скопировать параметры существующего проекта в новую конфигурацию 64-разрядного проекта.
Копирование параметров проекта Win32 в конфигурацию 64-разрядного проекта
- В диалоговом окне Создание платформы решения , открытом в процессе настройки проекта как предназначенного для 64-разрядной платформы, в раскрывающемся списке Копировать параметры из выберите пункт Win32. Указанные ниже параметры проекта обновляются автоматически на уровне проекта.
- Параметру компилятора /MACHINE присваивается значение /MACHINE:X64.
- ПараметрЗарегистрировать вывод выключается. Дополнительные сведения см. в разделе Linker Property Pages.
- ПараметруКонечная среда присваивается значение /env x64. Для получения дополнительной информации см. Страницы свойство MIDL.
- Значение параметраПроверка параметров сбрасывается и меняется на значение по умолчанию. Для получения дополнительной информации см. Страницы свойство MIDL.
- Если для параметра Формат отладочной информации в конфигурации проекта Win32 было задано значение /ZI , то в конфигурации 64-разрядного проекта ему присваивается значение /Zi . Дополнительные сведения см. в разделе /Z7, /Zi, /ZI (формат отладочной информации).
Ни одно из этих свойств проекта не меняется, если оно переопределено на уровне файла.