Как найти версию компилятора Visual Studio

Обновлено: 06.07.2024

В этом разделе объясняется, как подготовить приложения, созданные с помощью Microsoft Visual C++ 2005–2015, для AQTime. Чтобы узнать, как подготовить приложения, созданные с помощью других компиляторов, см. разделы ниже:

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

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

Чтобы добавить отладочную информацию в приложение Visual C++ 2005–2015, выполните следующие действия:

  1. Откройте свой проект в Visual Studio.
  2. Выберите «Сборка» > «Диспетчер конфигураций» в главном меню. Это откроет диалоговое окно диспетчера конфигураций. Выберите конфигурацию Release для своего проекта:

Нажмите на изображение, чтобы увеличить его.

Закройте диалоговое окно.

  1. Выберите «Активная» (выпуск) в раскрывающемся списке «Конфигурация».
  2. Перейдите на страницу «Свойства конфигурации» > «C/C++» > «Общие» и установите для параметра «Формат отладочной информации» значение «База данных программы» (/Zi) или «База данных программы для редактирования и продолжения» (/ZI) . Дополнительные сведения об этих параметрах см. в документации по Visual Studio.

Нажмите на изображение, чтобы увеличить его.

Нажмите на изображение, чтобы увеличить его.

Нажмите на изображение, чтобы увеличить его.

Перед открытием приложения в AQTime убедитесь, что выходной каталог вашего приложения содержит созданный вами файл .pdb. Кроме того, этот каталог должен содержать файл vcX0.pdb, где X — номер основной версии компилятора Visual C++, например для Visual C++ 8.0 этот файл называется vc80.pdb. vcX0.pdb содержит часть отладочной информации вашего приложения, которая может понадобиться для правильного профилирования всего приложения в AQTime. Возможно, что файл vc80.pdb не генерируется Visual Studio и это не вызовет проблем с профилированием. Если вы профилируете элемент управления ActiveX или COM-сервер, не забудьте зарегистрировать его «отладочную» версию в системе (см. Профилирование COM-приложений).

По умолчанию файл отладочной информации .pdb находится в той же папке, где находится профилированный исполняемый файл или библиотека DLL. Когда вы открываете свой модуль в AQTime, он ищет файл отладочной информации в этом расположении по умолчанию. Если вы копируете файл отладочной информации в другое место, укажите это место в списке «Путь к символам» диалогового окна «Параметры символов» (этот список содержит пути поиска). Дополнительную информацию см. в разделе «Указание пути к файлам отладочной информации».

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

В этом руководстве вы настроите Visual Studio Code для использования компилятора и отладчика Microsoft Visual C++ в Windows.

После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code. В этом учебнике не рассказывается подробно о наборе инструментов Microsoft C++ или языке C++. По этим темам в Интернете доступно множество хороших ресурсов.

Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.

Предпосылки

Чтобы успешно завершить это руководство, необходимо сделать следующее:

Установите расширение C/C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).

Расширение C/C++< бр />

Установите набор инструментов компилятора Microsoft Visual C++ (MSVC).

Если у вас установлена ​​последняя версия Visual Studio, откройте установщик Visual Studio из меню "Пуск" Windows и убедитесь, что рабочая нагрузка C++ проверена. Если он не установлен, установите флажок и нажмите кнопку «Изменить» в программе установки.

Вы также можете установить рабочую нагрузку "Разработка рабочего стола на C++" без полной установки интегрированной среды разработки Visual Studio. На странице загрузок Visual Studio прокрутите вниз, пока не увидите Инструменты для Visual Studio 2022 в разделе Все загрузки, и выберите загрузку для инструментов сборки для Visual Studio 2022.

Скачать инструменты сборки для Visual Studio

При этом будет запущен установщик Visual Studio, который откроет диалоговое окно с доступными рабочими нагрузками Visual Studio Build Tools. Проверьте рабочую нагрузку "Разработка рабочего стола с помощью C++" и выберите "Установить".

Рабочая нагрузка инструментов сборки Cpp

Примечание. Вы можете использовать набор инструментов C++ из Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой кодовой базы C++, если у вас также есть действующая лицензия Visual Studio (Community, Pro , или Enterprise), которые вы активно используете для разработки этой кодовой базы C++.

Проверьте установку Microsoft Visual C++

Чтобы использовать MSVC из командной строки или VS Code, необходимо выполнить запуск из командной строки разработчика для Visual Studio. В обычной оболочке, такой как PowerShell, Bash или командная строка Windows, не установлены необходимые переменные среды пути.

Чтобы открыть командную строку разработчика для VS, начните вводить слово «разработчик» в меню «Пуск» Windows, и оно должно появиться в списке предложений. Точное имя зависит от того, какая версия Visual Studio или Visual Studio Build Tools у вас установлена. Выберите элемент, чтобы открыть приглашение.

Командная строка разработчика

Вы можете проверить правильность установки компилятора C++, cl.exe , введя 'cl', и вы должны увидеть сообщение об авторских правах с версией и основным описанием использования.

Проверка установки cl.exe

Если командная строка разработчика использует расположение BuildTools в качестве начального каталога (вам не следует помещать туда проекты), перейдите в папку пользователя ( C:\users\\ ), прежде чем начинать создавать новые проекты.< /p>

Примечание. Если по какой-то причине вы не можете запустить VS Code из командной строки разработчика, вы можете найти обходной путь для создания проектов C++ с помощью VS Code в разделе Запуск VS Code вне командной строки разработчика.

Создать Hello World

В командной строке разработчика создайте пустую папку с именем "projects", в которой вы можете хранить все свои проекты VS Code, затем создайте подпапку с именем "helloworld", перейдите в нее и откройте VS Code ( code ) в этой папке. ( . ), введя следующие команды:

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

  • tasks.json (инструкции по сборке)
  • launch.json (настройки отладчика)
  • c_cpp_properties.json (путь к компилятору и настройки IntelliSense)

Добавить файл исходного кода

В строке заголовка проводника нажмите кнопку "Новый файл" и назовите файл helloworld.cpp .

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

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

Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Обратите внимание, как только что добавленный файл отображается в представлении Проводника ( ⇧⌘E (Windows, Linux Ctrl+Shift+E )) на боковой панели VS Code:

Проводник

Вы также можете включить функцию "Автосохранение" для автоматического сохранения изменений в файле, установив флажок "Автосохранение" в главном меню "Файл".

Панель действий в крайнем левом углу позволяет открывать различные представления, например «Поиск», «Управление версиями» и «Выполнить». Вы познакомитесь с представлением «Выполнить» позже в этом руководстве. Дополнительные сведения о других представлениях см. в документации по пользовательскому интерфейсу VS Code.

Примечание. Когда вы сохраняете или открываете файл C++, вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет протестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X (Удалить уведомление).

Исследуйте IntelliSense

В новом файле helloworld.cpp наведите указатель мыши на вектор или строку, чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg:

Завершение оператора IntelliSense

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

Сборка helloworld.cpp

Далее вы создадите файл tasks.json, чтобы указать VS Code, как собирать (компилировать) программу. Эта задача вызовет компилятор Microsoft C++ для создания исполняемого файла на основе исходного кода.

В главном меню выберите «Терминал» > «Настроить задачу сборки по умолчанию». В раскрывающемся списке будет отображаться раскрывающийся список задач со списком различных предопределенных задач сборки для компиляторов C++. Выберите cl.exe build active file, который создаст файл, отображаемый (активный) в данный момент в редакторе.

Раскрывающийся список сборки задач C++

Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.

Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:

Настройка команды определяет программу для запуска; в данном случае это «cl.exe». Массив args указывает аргументы командной строки, которые будут переданы в cl.exe. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором. Эта задача сообщает компилятору C++ взять активный файл ($), скомпилировать его и создать исполняемый файл (/Fe: переключатель) в текущем каталоге ($) с тем же именем, что и у активного файла, но с расширением .exe. ( $.exe ), что в нашем примере приводит к helloworld.exe.

Примечание. Подробнее о переменных tasks.json можно узнать в справочнике по переменным.

Значение ярлыка — это то, что вы увидите в списке задач; вы можете назвать это как хотите.

Значение ProblemMatcher выбирает анализатор выходных данных, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для cl.exe вы получите наилучшие результаты, если будете использовать средство сопоставления задач $msCompile.

Значение isDefault: true в групповом объекте указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl+Shift+B ). Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно сможете запустить его из меню терминала с помощью Tasks: Run Build Task.

Запуск сборки

Вернитесь к файлу helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .

Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl+Shift+B ) или в главном меню терминала выберите Задачи: Запустить задачу сборки.

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

Вывод сборки C++ в терминал

Если сборка завершается сбоем из-за того, что не найден cl.exe или отсутствует путь включения, убедитесь, что вы запустили VS Code из командной строки разработчика для Visual Studio.

Создайте новый терминал с помощью кнопки +, и у вас будет новый терминал (работающий с PowerShell) с папкой helloworld в качестве рабочего каталога. Запустите ls, и теперь вы должны увидеть исполняемый файл helloworld.exe вместе с различными промежуточными выходными файлами C++ и файлами отладки ( helloworld.obj , helloworld.pdb ).

Hello World в терминале PowerShell

Вы можете запустить helloworld в терминале, набрав .\helloworld.exe .

Примечание. Возможно, сначала вам придется несколько раз нажать Enter, чтобы увидеть приглашение PowerShell в терминале. Эта проблема должна быть исправлена ​​в будущем выпуске Windows.

Изменение tasks.json

Вы можете изменить файл tasks.json для создания нескольких файлов C++, используя такой аргумент, как "$\\*.cpp" вместо $ . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "$\\$.exe" жестко заданным именем файла (например, "$\\myProgram.exe" ).

Отладка файла helloworld.cpp

Далее вы создадите файл launch.json, чтобы настроить VS Code для запуска отладчика Microsoft C++ при нажатии клавиши F5 для отладки программы. В главном меню выберите «Выполнить» > «Добавить конфигурацию». а затем выберите C++ (Windows).

После этого вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите cl.exe для сборки и отладки активного файла.

Отладка C++ раскрывающийся список настроек

VS Code создает файл launch.json, открывает его в редакторе, строит и запускает "helloworld".

Настройка программы определяет программу, которую вы хотите отлаживать. Здесь указывается активная папка с файлами $ и активное имя файла с расширением .exe $.exe , которое, если активным файлом является helloworld.cpp, будет helloworld.exe .

По умолчанию расширение C++ не добавляет никаких точек останова в исходный код, а для параметра stopAtEntry установлено значение false . Измените значение stopAtEntry на true, чтобы отладчик останавливался на основном методе при запуске отладки.

Начать сеанс отладки

  1. Вернитесь к файлу helloworld.cpp, чтобы он стал активным.
  2. Нажмите F5 или в главном меню выберите «Выполнить» > «Начать отладку». Прежде чем вы приступите к просмотру исходного кода, обратите внимание на несколько изменений в пользовательском интерфейсе:

Интегрированный терминал отображается в нижней части редактора исходного кода. На вкладке «Вывод отладки» вы видите вывод, указывающий на то, что отладчик запущен и работает.

Редактор выделяет первый оператор в основном методе. Это точка останова, которую расширение C++ автоматически устанавливает для вас:

Начальная точка останова
< /p>

В представлении «Выполнение» слева отображается отладочная информация. Вы увидите пример позже в этом руководстве.

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

Пошаговое выполнение кода

Теперь вы готовы приступить к выполнению кода.

Нажимайте значок Step over на панели управления отладкой, пока не будет выделен оператор for (const string& word : msg).

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

Нажмите Step over еще раз, чтобы перейти к следующему оператору в этой программе (пропустив весь внутренний код, который выполняется для инициализации цикла). Теперь в окне «Переменные» отображается информация о переменных цикла.

Снова нажмите Step, чтобы выполнить оператор cout. Примечание. Начиная с версии расширения за март 2019 г. выходные данные не отображаются до завершения цикла.

Если хотите, вы можете продолжать нажимать Step over до тех пор, пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку Step Into, чтобы просмотреть исходный код в стандартной библиотеке C++!

Точка останова в стандарте gcc заголовок библиотеки

Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9. Красная точка появляется в поле слева, указывая на то, что в этой строке установлена ​​точка останова.

Точка останова в основном

Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.

Настроить часы

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

Поместите точку вставки внутри цикла. В окне Watch выберите знак «плюс» и в текстовом поле введите слово, которое является именем переменной цикла. Теперь просмотрите окно Watch, когда будете проходить цикл.

Окно просмотра

Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; . Затем внутри цикла добавьте следующий оператор: ++i; . Теперь добавьте часы для i, как вы делали это на предыдущем шаге.

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

Наведение мыши

Конфигурации C/C++

Если вам нужен больший контроль над расширением C/C++, вы можете создать файл c_cpp_properties.json, который позволит вам изменять такие параметры, как путь к компилятору, включаемые пути, стандарт C++ (по умолчанию C++ 17) и многое другое.

Вы можете просмотреть пользовательский интерфейс конфигурации C/C++, выполнив команду C/C++: Edit Configurations (UI) из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P )).

Палитра команд

При этом открывается страница конфигураций C/C++. Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode.

Палитра команд

Visual Studio Code помещает эти параметры в файл .vscode\c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

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

Путь к компилятору

ПараметрcompilePath является важным параметром в вашей конфигурации. Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C++. Когда расширение знает, где найти эти файлы, оно может предоставлять полезные функции, такие как интеллектуальное завершение и навигация «Перейти к определению».

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

Порядок поиска по пути компилятора:

  • Сначала проверьте наличие компилятора Microsoft Visual C++Ope
  • Затем найдите g++ в подсистеме Windows для Linux (WSL)
  • Затем g++ для Mingw-w64.

Если у вас установлены g++ или WSL, вам может потребоваться изменить значениеcompilePath, чтобы оно соответствовало предпочитаемому компилятору для вашего проекта. Для Microsoft C++ путь должен выглядеть примерно так, в зависимости от установленной версии: "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin /Hostx64/x64/cl.exe".

Повторное использование конфигурации C++

VS Code теперь настроен на использование компилятора Microsoft C++. Конфигурация применяется к текущей рабочей области. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходных файлов и исполняемого файла.

Запуск VS Code вне командной строки разработчика

В некоторых случаях невозможно запустить VS Code из командной строки разработчика для Visual Studio (например, в сценариях удаленной разработки через SSH). В этом случае вы можете автоматизировать инициализацию командной строки разработчика для Visual Studio во время сборки, используя следующую конфигурацию tasks.json:

Примечание. Путь к VsDevCmd.bat может отличаться в зависимости от версии Visual Studio или пути установки. Вы можете найти путь к VsDevCmd.bat, открыв командную строку и запустив каталог "\VsDevCmd*" /s .

Устранение неполадок

Термин «cl.exe» не распознается

Если вы видите сообщение об ошибке "Термин "cl.exe" не распознается как имя командлета, функции, файла сценария или исполняемой программы", обычно это означает, что вы запускаете VS Code вне команды разработчика. Подсказка для Visual Studio и VS Code не знает путь к компилятору cl.exe.

VS Code необходимо либо запускать из командной строки разработчика для Visual Studio, либо задачу необходимо настроить для запуска вне командной строки разработчика.

Для создания программного обеспечения в Windows можно использовать самые разные программы. Однако некоторые инструменты более популярны, чем другие. Здесь я даю инструкции по установке трех популярных инструментов сборки в Windows:

Установка CMake¶

Что такое CMake?¶

CMake – это универсальный инструмент для сборки, который создает проекты компиляции для большого количества компиляторов и IDE. Это каким-то образом абстрагирует процесс создания инструкций по компиляции и позволяет настроить данный проект независимо от того, каким будет фактический инструмент компилятора/сборки. Например, он может создавать файлы Makefile (для использования с GCC и подобными программами, такими как MinGW), а также проекты Visual Studio.

Согласно официальному веб-сайту проекта CMake, «Cmake — это кроссплатформенная система сборки с открытым исходным кодом для управления процессом сборки программного обеспечения с использованием независимого от компилятора метода».

В частности, CMake предлагает функцию сборки "вне исходных кодов", которая объясняется следующим образом: "Когда ваша сборка создает файлы, они должны куда-то идти. Сборка в исходном коде помещает их в ваше исходное дерево. Сборка вне исходного кода помещает их в совершенно отдельный каталог, так что ваше исходное дерево не меняется». (Источник)

Инструкции по установке¶

  1. Выберите Windows (установщик Win32).
  2. Запустите программу установки.
  3. При появлении запроса выберите «Добавить CMake в системный ПУТЬ для всех пользователей».
  4. Запустите установку программного обеспечения.

CMake теперь установлен на компьютере (по умолчанию в C:\Program Files (x86)\CMake x.x).

Файлы там точно такие же, как и при загрузке ZIP-архива программы на веб-сайте CMake.

Установка MinGW¶

Что такое MinGW?¶

Подробные инструкции по установке доступны здесь. В этом руководстве вы найдете пошаговые инструкции по установке MinGW в Windows. Идея состоит в том, что мы установим своего рода менеджер пакетов для управления установкой различных частей MinGW.

Помимо MinGW, который является 32-разрядным и не может создавать 64-разрядные программы, существует также MinGW-w64, который поддерживает как 32-разрядную, так и 64-разрядную компиляцию в Windows. Однако, поскольку MinGW более популярен, чем MinGW-w64, я буду использовать здесь MinGW.

Инструкции по установке¶

Запустите программу установки и нажмите «Установить».

Оставьте все параметры по умолчанию (в частности, не рекомендуется устанавливать MinGW для всех пользователей, и я настоятельно рекомендую вам установить инструмент с графическим интерфейсом).

По завершении установки нажмите «Продолжить».

Менеджер установки MinGW запускается автоматически.

Примечание

Если вы нажали «Выход» вместо «Продолжить» в конце установки, не беспокойтесь: вы можете запустить диспетчер установки MinGW из меню «Пуск».

На панели слева выберите «Основные настройки».

На правой панели выберите «mingw32-base» и выберите «Отметить для установки».

Проделайте то же самое с пакетом mingw32-gcc-g++, чтобы он также мог компилировать код C++.

Теперь перейдите в меню «Установка» и выберите «Применить изменения». Во всплывающих окнах нажмите кнопку «Применить».

Базовая версия MinGW вместе с компилятором G++ теперь будет автоматически установлена ​​на ваш компьютер (по умолчанию в C:\MinGW, если вы не изменили каталог установки, что не рекомендуется).

Выйдите из диспетчера установки MinGW.

Теперь на вашем компьютере установлен MinGW, в частности GCC, G++, GDB и mingw32-make.

MinGW скачать
< img class="lazyload" data-src="https://perso.uclouvain.be/allan.barrea/opencv/_images/mingw_install_1.jpg" alt="MinGW install 1" />
MinGW install 2
MinGW install 3

Настройка переменных среды пользователя¶

Перед использованием MinGW необходимо выполнить последний шаг: добавить папку установки «bin» в переменную среды User Path. Действительно, программа установки не делает этого автоматически.

Откройте меню "Пуск". Щелкните правой кнопкой мыши «Компьютер», затем выберите «Свойства». Щелкните Дополнительные параметры системы, а затем щелкните Переменные среды.

Появится диалоговое окно, содержащее два текстовых поля. В верхнем поле показаны ваши пользовательские настройки, а в нижнем — системные.

Предупреждение

Вы не должны каким-либо образом изменять системную переменную среды (в нижнем поле), иначе вы создадите всевозможные проблемы для себя и вашего компьютера!

Путь в верхнем поле — это тот, который вы хотите изменить. Следующие инструкции зависят от того, существует ли уже переменная среды User Path.

  • Если в верхнем поле нет такой переменной среды:

  1. Создайте его и назовите «Путь».
  2. В качестве значения укажите \bin .

Если в верхнем поле с именем «Путь» уже есть переменная среды:

  1. Нажмите на запись "Путь" , затем нажмите кнопку "Изменить".
  2. Прокрутите до конца строки и в конце добавьте ; \bin (остерегайтесь начальной точки с запятой!).

Замените ПОЛНЫМ абсолютным путем к выбранному вами целевому каталогу установки (по умолчанию C:\MinGW).

Нажмите OK -> OK -> OK, и все готово.

Чтобы убедиться, что переменная среды Path была правильно изменена, откройте Powershell и введите следующую команду, которая выдаст содержимое переменных среды System и User Path:

или, чтобы каждая запись в переменной Path выводилась с новой строки:

В частности, C:\MinGW\bin должна быть одной из этих строк по умолчанию.

Еще один способ проверить установку – ввести в командной строке следующую команду:

Должна отображаться версия mingw32-make.

Создание псевдонима для mingw32-make в Powershell¶

Если вы не хотите явно вводить mingw32-make каждый раз, когда хотите вызвать make, вы можете создать псевдоним в своем профиле пользователя Powershell с помощью этой команды:

Теперь вы можете просто ввести make, чтобы вызвать mingw32-make. Дополнительные сведения о том, что такое профиль пользователя Powershell, см. в примечании к профилю Powershell .

Установка Microsoft Visual Studio¶

Что такое Microsoft Visual Studio?¶

Visual Studio — это IDE (интегрированная среда разработки), разработанная Microsoft. Он используется для разработки компьютерных программ для Windows. Существует бесплатная версия Visual Studio под названием «Visual Studio Express», которую мы будем использовать здесь. Дополнительную информацию о Microsoft Visual Studio можно найти на специальной странице Википедии.

Инструкции по установке¶

Самые последние версии различных версий Microsoft Visual Studio «Express» на момент написания статьи следующие:

  • Visual Studio Express 2013 для Интернета
  • Visual Studio Express 2013 для Windows 8.1
  • Visual Studio Express 2013 для рабочего стола Windows
  • Visual Studio Team Foundation Server Express 2013

В чем разница между Windows SDK, Visual Studio и MSVC? Microsoft Visual Studio — это IDE, то есть графическая среда, облегчающая разработку приложений. Windows SDK — это набор инструментов, используемых для фактического создания программного обеспечения, предоставляющий инструменты, компиляторы, заголовочные файлы, библиотеки и образцы кода. Некоторые компоненты Windows SDK, но не все, также изначально включены в Microsoft Visual Studio. Наконец, MSVC — это просто сокращение от MicroSoft Visual C++, которое было названием IDE до 2012 года. Кстати, SDK означает комплект для разработки программного обеспечения, а IDE означает интегрированную среду разработки.

Здесь мы будем использовать только те компоненты Windows SDK, которые поставляются с Microsoft Visual Studio и которые будут установлены автоматически.

Примечание

Если вы студент, Microsoft предлагает вам бесплатно загрузить полную версию Visual Studio (называемую «Visual Studio Professional») через свою программу DreamSpark. Дополнительные сведения и ссылки доступны на странице загрузки Visual Studio.

Загрузка Visual Studio

По завершении установки (см. рисунок ниже) запустите Microsoft Visual Studio Express 2013. При желании вы можете войти в свою учетную запись Microsoft, чтобы синхронизировать настройки на разных компьютерах.

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

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

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

Файл цепочки инструментов. Это самый низкоуровневый способ проинструктировать CMake, как компилировать и связывать цель. CMake Tools обрабатывает файлы цепочки инструментов с помощью наборов.

Наборы в основном не зависят от генератора CMake, хотя наборы Visual Studio будут иметь «предпочтительный» генератор, который будет использоваться в качестве резерва, чтобы обеспечить использование соответствующего генератора MSBuild и .sln для компилятора Visual C++.

Если вы используете Ninja, вам не нужно беспокоиться о генераторах Visual Studio CMake. CMake Tools отдаст предпочтение Ninja, если он присутствует, если не указано иное.

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

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

Как найти и определить комплекты?¶

При первом запуске CMake Tools просканирует систему на наличие доступных наборов инструментов. Он ищет в определенных каталогах наличие компиляторов или установок Visual Studio (используя vswhere ), чтобы заполнить исходный список комплектов.

Локальные наборы пользователей¶

Локальные пользовательские наборы — это наборы, доступные определенному пользователю для всех проектов, открытых с помощью инструментов CMake.

Локальный список наборов для пользователя хранится в пользовательском файле, который можно изменить, вызвав Редактировать наборы CMake из палитры команд. Откроется файл cmake-kits.json:

_images/kits_json. jpg

Этот файл можно изменить вручную, чтобы определить новые глобальные комплекты, и содержимое этого файла также будет автоматически контролироваться CMake Tools посредством автоматического сканирования комплектов.

Не изменяйте никакие наборы, которые CMake Tools определяет самостоятельно: при сканировании наборов любые изменения будут перезаписаны. Подробнее см. ниже.

Наборы проектов¶

Локальные пользовательские наборы по умолчанию доступны для всех проектов, использующих CMake Tools для пользователя. Кроме того, можно определить локальные комплекты проекта, создав файл .vscode/cmake-kits.json в каталоге проекта.Содержимым этого файла необходимо управлять вручную, но CMake Tools автоматически перезагрузит и обновит его, когда обнаружит, что этот файл добавлен, удален или изменен. При смене наборов для выбора будут доступны как локальные наборы пользователя, так и локальные наборы проекта.

Примером использования локальных наборов проекта является ситуация, когда проект определяет свои собственные файлы цепочки инструментов CMake. Можно определить набор инструментов, указывающий, что этот файл должен быть загружен. Файл .vscode/cmake-kits.json можно зафиксировать в системе управления версиями и предоставить к нему доступ другим разработчикам, чтобы облегчить совместную работу над названной цепочкой инструментов.

Процесс сканирования¶

Пользовательские локальные комплекты можно обновить, запустив Поиск комплектов в палитре команд. Для поиска доступных комплектов выполняется следующий процесс:

Поиск компиляторов в текущем PATH

Инструменты CMake будут использовать переменную среды PATH для списка каталогов, в которых можно найти компиляторы.

Инструменты CMake ищут двоичные файлы gcc и clang и запрашивают у каждого исполняемого файла информацию о версии.

< p>Для gcc, если соответствующий исполняемый файл g++ находится в том же каталоге, он добавляется в комплект вместе с соответствующим компилятором C++. То же самое относится к двоичному файлу clang++ в каталоге исполняемого файла clang.

Примечание

В настоящее время CMake Tools автоматически определяет только Clang и GCC. Если вам нужно автоматическое определение дополнительных инструментов, откройте задачу на странице GitHub с информацией об именах двоичных файлов компилятора и о том, как анализировать информацию о его версии.

Спросите VSWhere об установке Visual Studio

Инструменты CMake включают связанный vswhere.exe, который используется для запроса существующих экземпляров Visual Studio, установленных в системе.

Для каждого из x86 , amd64 , x86_amd64 , x86_arm , x86_arm64 , amd64_x86 , amd64_arm , и amd64_arm64 , CMake Tools проверит // наличие установленных сред Visual C++. // Набор создается для каждой существующей цепочки инструментов MSVC.

Сохранение результатов в локальном пользовательском файле комплектов

По завершении локальный для пользователя файл cmake-kits.json будет обновлен новой информацией о комплекте.

Предупреждение

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

Чтобы предотвратить создание пользовательских наборов от перезаписи, дайте им уникальные имена. Инструменты CMake не будут удалять записи из cmake-kits.json, а только добавлять и обновлять существующие.

Параметры набора¶

CMake определяет несколько разных параметров, которые можно указать для каждого комплекта в их определении в cmake-kits.json , и эти параметры можно смешивать и сопоставлять по мере необходимости. Например, один комплект может запросить среду Visual Studio, указав clang-cl в качестве компилятора.

Как настраиваются инструменты CMake. Объясняется, как наборы применяются во время настройки.

Компиляторы¶

Указать языковые компиляторы так же просто, как указать пути к компиляторам для языков CMake.

Наиболее распространенными языками CMake являются C и CXX , и CMake Tools имеет встроенную поддержку для их поиска, но можно указать любой язык:

Инструментарий¶

Инструменты CMake не обнаружат их автоматически, но вы также можете указать файл цепочки инструментов CMake в наборе:

Инструменты CMake передают этот путь для CMAKE_TOOLCHAIN_FILE во время настройки.

Visual Studio¶

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

Ключ visualStudio соответствует имени установки Visual Studio, полученному из VSWhere. Ключ visualStudioArchitecture соответствует целевой архитектуре Visual Studio, которая будет передана в файл vcvarsall.bat при входе в среду разработки VS.

Чтобы использовать Visual C++, оба из visualStudio и visualStudioArchitecture должны быть указаны. Пропустить один не получится.

Общие параметры¶

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

Генератор CMake, который следует использовать с этим комплектом, если он не установлен по умолчанию. Инструменты CMake по-прежнему будут искать в cmake.preferredGenerators из settings.json , но вернутся к этому параметру, если генератор из пользовательских настроек недоступен

Объект JSON, который будет передан как список параметров кэша при запуске CMake configure. Не используйте его для настроек и параметров конкретного проекта: для этой цели лучше использовать файл settings.json.

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

Объект JSON пар ключ-значение, указывающий дополнительные переменные среды, которые должны быть определены при использовании этого комплекта.

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