- Компиляция C++ кода с помощью g++
- g++ для Windows
- Работа с командной строкой Windows
- Исходный код
- Компиляция (compilation) и связывание (linking)
- Заключение
- Создание и запуск проекта консольного приложения C++ Build and run a C++ console app project
- Предварительные требования Prerequisites
- Сборка и запуск кода в Visual Studio Build and run your code in Visual Studio
- Выполнение кода в командном окне Run your code in a command window
- Следующие шаги Next Steps
- Руководство по устранению неполадок Troubleshooting guide
- Сборка и запуск кода в Visual Studio: проблемы Build and run your code in Visual Studio: issues
- Выполнение кода в командном окне: проблемы Run your code in a command window: issues
- Использование набора инструментов Microsoft C++ из командной строки Use the Microsoft C++ toolset from the command line
- Скачивание и установка инструментов Download and install the tools
- Практическое руководство. Использование программ командной строки How to use the command-line tools
- Ярлыки командной строки разработчика Developer command prompt shortcuts
- Открытие окна «Командная строка разработчика» To open a developer command prompt window
- Расположение командных файлов разработчика Developer command file locations
- Использование средств разработчика в существующем окне командной строки Use the developer tools in an existing command window
- Синтаксис vcvarsall vcvarsall syntax
- Настройка среды сборки в существующем окне командной строки To set up the build environment in an existing command prompt window
- Создание собственных ярлыков командной строки Create your own command prompt shortcut
- Средства командной строки Command-line tools
- Средства управления проектами из командной строки Command-line project management tools
- Содержание раздела In this section
- Связанные разделы Related sections
Компиляция C++ кода с помощью g++
Для этого урока у вас должна быть установлена программа g++. g++ — производное имя от gcc. gcc — компилятор языка C. Имя gcc образовано от GNU C Compiler. GNU — операционная система, а также это набор свободного ПО, включая gcc и g++ (компиляторы C/C++).
Если вы используете Linux, то g++ уже установлен.
g++ для Windows
Есть пара вариантов, как установить g++ на Windows. Cygwin и MinGW32. MinGW имеет версию для архитектуры x86-64. И именно её мы и будем использовать. Скачайте MinGW-W64, установите, а затем найдите mingw в меню Пуск (MinGW-W64 -> Run Terminal), или зайдите в папку с программой в проводнике (нужно запускать файл mingw-w64.bat). Вы увидите командную строку Windows.
Работа с командной строкой Windows
Если вы никогда не использовали командную строку, то вот несколько полезных команд:
Имя диска с двоеточием — перейти на определённый диск. Например, я храню код на диске D, поэтому моей первой командой будет:
cd — изменить директорию (change directory). Эта команда переместит вас в нужную директорию. Я храню код для данных уроков в папке: d:\prog\cpp. Поэтому, после того как я выбрал диск D, я обычно ввожу следующую команду:
cd .. (две точки) переместит вас в папку выше.
Исходный код
Создайте файл hello_world.cpp в папке, где вы планируете хранить свой код. Откройте его в простом текстовом редакторе: Notepad/Gedit/Notepad++/Sublime. И вставьте следующий текст:
После выполнения данной команды, в текущей директории будут создан файл: a.out или a.exe. Чтобы запустить программу, введите имя файла в консоли и нажмите Ввод (Enter). В консоли вы увидите текст Hello World. После этого программа сразу завершится.
a.out — имя по умолчанию для скомпилированных файлов. Мы можем изменить его:
Выполнив последнюю команду, мы получим файл hello_world.exe. После этого в Windows скомпилированную программу можно выполнить следующей командой:
Компиляция (compilation) и связывание (linking)
Во время компиляции происходит два шага. Первый — компиляция файлов с исходным кодом. Результат этого шага: объектный код. Объектный код помещается в файлы с расширением .o. Следующий шаг — связывание (linking). Специальная программа — компоновщик (linker), берёт объектные файлы и «связывает» их вместе. Компоновщик необходим, когда есть больше одного файла с исходным кодом. Пока наши программы будут состоять из одного файла. Но в будущем нам понадобится компоновщик.
Заключение
Мы рассмотрели как компилируется C++ код с помощью компилятора g++. Теперь мы готовы к изучению C++. А начнём мы с разбора программы Hello World.
Создание и запуск проекта консольного приложения C++ Build and run a C++ console app project
Вы создали проект консольного приложения C++ и ввели код. You’ve created a C++ console app project and entered your code. Теперь вы можете выполнить сборку приложения и запустить его в Visual Studio. Now you can build and run it within Visual Studio. Затем запустите его как автономное приложение из командной строки. Then, run it as a stand-alone app from the command line.
Предварительные требования Prerequisites
Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой «Разработка классических приложений на C++». Have Visual Studio with the Desktop development with C++ workload installed and running on your computer. Если установка еще не выполнена, следуйте инструкциям в статье Установка поддержки C++ в Visual Studio. If it’s not installed yet, follow the steps in Install C++ support in Visual Studio.
Создайте проект «Hello, World!» Create a «Hello, World!» и введите его исходный код. project and enter its source code. Если вы еще не сделали этого, выполните действия, описанные в разделе Создание проекта консольного приложения С++. If you haven’t done this step yet, follow the steps in Create a C++ console app project.
Если Visual Studio выглядит следующим образом, можно приступать к сборке и запуску приложения: If Visual Studio looks like this, you’re ready to build and run your app:
Сборка и запуск кода в Visual Studio Build and run your code in Visual Studio
Для сборки проекта выберите в меню Сборка пункт Собрать решение. To build your project, choose Build Solution from the Build menu. Окно Вывод отображает результаты процесса сборки. The Output window shows the results of the build process.
Чтобы запустить этот код, в строке меню выберите Отладка и Запуск без отладки. To run the code, on the menu bar, choose Debug, Start without debugging.
Открывается окно консоли, и запускается ваше приложение. A console window opens and then runs your app. При запуске консольного приложения в Visual Studio система выполняет код, а затем выводит сообщение «Нажмите любую клавишу, чтобы продолжить. When you start a console app in Visual Studio, it runs your code, then prints «Press any key to continue . . . .», .» чтобы вы могли просмотреть выходные данные. to give you a chance to see the output.
Поздравляем! Congratulations! Вы создали свое первое консольное приложение «Hello World» You’ve created your first «Hello, world!» в Visual Studio! console app in Visual Studio! Нажмите любую клавишу, чтобы закрыть окно консоли и вернуться в редактор Visual Studio. Press a key to dismiss the console window and return to Visual Studio.
Выполнение кода в командном окне Run your code in a command window
Обычно консольные приложения запускаются из командной строки, а не в Visual Studio. Normally, you run console apps at the command prompt, not in Visual Studio. После того как приложение будет создано в Visual Studio, его можно запустить из любого командного окна. Once your app is built by Visual Studio, you can run it from any command window. Вот как можно найти и запустить новое приложение в окне командной строки. Here’s how to find and run your new app in a command prompt window.
В обозревателе решений выберите решение HelloWorld (а не проект HelloWorld) и щелкните правой кнопкой мыши, чтобы открыть контекстное меню. In Solution Explorer, select the HelloWorld solution (not the HelloWorld project) and right-click to open the context menu. Выберите Открыть папку в проводнике, чтобы открыть окно проводника в папке решения HelloWorld. Choose Open Folder in File Explorer to open a File Explorer window in the HelloWorld solution folder.
В окне проводника откройте папку Debug. In the File Explorer window, open the Debug folder. В этой папке содержится ваше приложение, HelloWorld.exe и несколько других файлов отладки. This folder contains your app, HelloWorld.exe, and a couple of other debugging files. Удерживая нажатой клавишу SHIFT, щелкните правой кнопкой мыши HelloWorld.exe, чтобы открыть контекстное меню. Hold down the Shift key and right-click on HelloWorld.exe to open the context menu. Выберите команду Копировать как путь, чтобы скопировать путь к приложению в буфер обмена. Choose Copy as path to copy the path to your app to the clipboard.
Чтобы открыть окно командной строки, нажмите Windows + R, чтобы открыть диалоговое окно Выполнить. To open a command prompt window, press Windows+R to open the Run dialog. Введите cmd.exe в текстовом поле Открыть, а затем выберите ОК для запуска окна командной строки. Enter cmd.exe in the Open textbox, then choose OK to run a command prompt window.
В окне командной строки щелкните правой кнопкой мыши, чтобы вставить путь к приложению в командную строку. In the command prompt window, right-click to paste the path to your app into the command prompt. Нажмите клавишу ВВОД, чтобы запустить приложение. Press Enter to run your app.
Поздравляем! Вы создали и запустили консольное приложение в Visual Studio. Congratulations, you’ve built and run a console app in Visual Studio!
Следующие шаги Next Steps
После создания и запуска этого простого приложения можно приступать к более сложным проектам. Once you’ve built and run this simple app, you’re ready for more complex projects. Дополнительные сведения см. в разделе Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++. For more information, see Using the Visual Studio IDE for C++ Desktop Development. В нем содержатся более подробные пошаговые руководства, посвященные возможностям Microsoft C++ в Visual Studio. It has more detailed walkthroughs that explore the capabilities of Microsoft C++ in Visual Studio.
Руководство по устранению неполадок Troubleshooting guide
Здесь приведены решения распространенных проблем, которые могут возникнуть при создании первого проекта C++. Come here for solutions to common issues when you create your first C++ project.
Сборка и запуск кода в Visual Studio: проблемы Build and run your code in Visual Studio: issues
Если в редакторе исходного кода отображаются красные волнистые линии, то сборка может содержать ошибки или предупреждения. If red squiggles appear under anything in the source code editor, the build may have errors or warnings. Убедитесь, что код соответствует примеру в написании, пунктуации и регистре. Check that your code matches the example in spelling, punctuation, and case.
Выполнение кода в командном окне: проблемы Run your code in a command window: issues
Если путь, показанный в проводнике, заканчивается на \HelloWorld\HelloWorld, вы открыли проект HelloWorld вместо решения HelloWorld. If the path shown in File Explorer ends in \HelloWorld\HelloWorld, you’ve opened the HelloWorld project instead of the HelloWorld solution. Вы перепутаете папку Debug, в которой нет вашего приложения. You’ll be confused by a Debug folder that doesn’t contain your app. Перейдите на уровень вверх в проводнике, чтобы открыть папку решения — первый HelloWorld в пути. Navigate up a level in File Explorer to get to the solution folder, the first HelloWorld in the path. В этой папке также содержится папка Debug, в которой вы найдете свое приложение. This folder also contains a Debug folder, and you’ll find your app there.
Можно также открыть папку Debug решения в командной строке, чтобы запустить приложение. You can also navigate to the solution Debug folder at the command line to run your app. Приложение не будет запускаться из других каталогов, если не указан путь к приложению. Your app won’t run from other directories without specifying the path to the app. Однако вы можете скопировать приложение в другой каталог и запустить его из него. However, you can copy your app to another directory and run it from there. Также можно скопировать его в каталог, указанный переменной среды PATH, а затем запустить его из любого места. It’s also possible to copy it to a directory specified by your PATH environment variable, then run it from anywhere.
Если в контекстном меню отсутствует параметр Копировать как путь, закройте меню, а затем удерживайте нажатой клавишу SHIFT при повторном открытии. If you don’t see Copy as path in the shortcut menu, dismiss the menu, and then hold down the Shift key while you open it again. Эта команда предназначена только для удобства. This command is just for convenience. Можно также скопировать путь к папке из панели поиска проводника и вставить его в диалоговое окно Выполнить, а затем ввести имя исполняемого файла в конце. You can also copy the path to the folder from the File Explorer search bar, and paste it into the Run dialog, and then enter the name of your executable at the end. При этом потребуется чуть больше действий по вводу текста, но результат будет тем же. It’s just a little more typing, but it has the same result.
Использование набора инструментов Microsoft C++ из командной строки Use the Microsoft C++ toolset from the command line
Вы можете выполнять сборку приложений на языках C и C++ из командной строки с помощью средств, включенных в Visual Studio. You can build C and C++ applications on the command line by using tools that are included in Visual Studio. Набор инструментов компилятора Microsoft C++ (MSVC) также можно скачать как отдельный пакет. The Microsoft C++ (MSVC) compiler toolset is also downloadable as a standalone package. Вам не нужно устанавливать интегрированную среду разработки Visual Studio, если она вам не нужна. You don’t need to install the Visual Studio IDE if you don’t plan to use it.
В этой статье описывается, как настроить среду для использования отдельных компиляторов, компоновщиков, библиотекарей и другие основные средства. This article is about how to set up an environment to use the individual compilers, linkers, librarian, and other basic tools. Собственная система сборки проекта MSBuild не использует среду, как описано в этой статье. The native project build system, MSBuild, does not use the environment as described in this article. Дополнительные сведения об использовании средства MSBuild из командной строки см. в справочнике по использованию MSBuild в командной строке для C++. For more information on how to use MSBuild from the command line, see MSBuild on the command line — C++.
Скачивание и установка инструментов Download and install the tools
Если вы установили Visual Studio и рабочую нагрузку C++, у вас есть все программы командной строки. If you’ve installed Visual Studio and a C++ workload, you have all the command-line tools. Сведения об установке C++ и Visual Studio см. здесь. For information on how to install C++ and Visual Studio, see Install C++ support in Visual Studio. Если требуется только набор инструментов командной строки, скачайте Средства сборки для Visual Studio. If you only want the command-line toolset, download the Build Tools for Visual Studio. При запуске скачанного исполняемого файла будет обновлен и запущен Visual Studio Installer. When you run the downloaded executable, it updates and runs the Visual Studio Installer. Чтобы установить только необходимые средства разработки C++, выберите рабочую нагрузку Средства сборки C++ . To install only the tools you need for C++ development, select the C++ build tools workload. В разделе Сведения об установке можно выбрать дополнительные библиотеки и наборы инструментов, чтобы добавить их. You can select optional libraries and toolsets to include under Installation details. Чтобы создавать код с помощью наборов инструментов Visual Studio 2015 или 2017, выберите дополнительные средства сборки MSVC версии 140 или 141. To build code by using the Visual Studio 2015 or 2017 toolsets, select the optional MSVC v140 or MSVC v141 build tools. После проверки выбранных параметров щелкните Установить. When you’re satisfied with your selections, choose Install.
Практическое руководство. Использование программ командной строки How to use the command-line tools
Когда вы выбираете одну из рабочих нагрузок C++ в Visual Studio Installer, он устанавливает набор инструментов платформы Visual Studio. When you choose one of the C++ workloads in the Visual Studio Installer, it installs the Visual Studio platform toolset. Набор инструментов платформы содержит все средства C и C++ для конкретной версии Visual Studio. A platform toolset has all the C and C++ tools for a specific Visual Studio version. К этим средствам относятся компиляторы C/C++, компоновщики, ассемблеры, другие средства сборки и соответствующие библиотеки. The tools include the C/C++ compilers, linkers, assemblers, and other build tools, and matching libraries. Все эти средства можно использовать в командной строке. You can use all of these tools at the command line. Они также используются внутри интегрированной среды разработки Visual Studio. They’re also used internally by the Visual Studio IDE. Существуют отдельные компиляторы для архитектур x86 и x64 и средства для сборки кода для целевых платформ x86, x 64, ARM и ARM64. There are separate x86-hosted and x64-hosted compilers and tools to build code for x86, x64, ARM, and ARM64 targets. Каждый набор средств для конкретного узла и целевой архитектуры сборки хранится в собственном каталоге. Each set of tools for a particular host and target build architecture is stored in its own directory.
Для правильной работы инструментам требуется несколько переменных среды. To work correctly, the tools require several specific environment variables to be set. Они используются для добавления средств к пути и задания файла включения, файла библиотеки и расположений пакетов SDK. These variables are used to add the tools to the path, and to set include file, library file, and SDK locations. Чтобы упростить процесс задания этих переменных среды, программа установки создает настраиваемые командные файлы , или пакетные файлы, во время установки. To make it easy to set these environment variables, the installer creates customized command files , or batch files, during installation. Вы можете выполнить один из этих командных файлов, чтобы задать конкретный узел и целевую архитектуру сборки, версию Windows SDK и набор инструментов платформы. You can run one of these command files to set a specific host and target build architecture, Windows SDK version, and platform toolset. Для удобства установщик также создает ярлыки в меню «Пуск». For convenience, the installer also creates shortcuts in your Start menu. Ярлыки запускают окна командной строки разработчика, используя эти командные файлы для конкретных сочетаний узла и целевого объекта. The shortcuts start developer command prompt windows by using these command files for specific combinations of host and target. Эти ярлыки гарантируют, что все необходимые переменные среды установлены и готовы к использованию. These shortcuts ensure all the required environment variables are set and ready to use.
Необходимые переменные среды зависят от установки и выбранной архитектуры сборки. The required environment variables are specific to your installation and to the build architecture you choose. Они также могут изменяться при обновлении продукта. They also might be changed by product updates or upgrades. Поэтому рекомендуется использовать ярлык установленной командной строки или командный файл вместо самостоятельной настройки переменных среды. That’s why we recommend you use an installed command prompt shortcut or command file, instead of setting the environment variables yourself. Дополнительные сведения см. в статье Установка переменных пути и среды при сборке из командной строки. For more information, see Set the path and environment variables for command-line builds.
Устанавливаемые наборы инструментов, командные файлы и ярлыки зависят от процессора компьютера и параметров, выбранных во время установки. The toolsets, command files, and shortcuts installed depend on your computer processor and the options you selected during installation. Всегда устанавливаются средства, размещаемые на платформе x86, и кросс-компиляции x86 и x64 для сборки кода. The x86-hosted tools and cross tools that build x86 and x64 code are always installed. Если у вас 64-разрядная версия Windows, будут также установлены средства, размещаемые на платформе x64, и кросс-компиляции x86 и x64 для сборки кода. If you have 64-bit Windows, the x64-hosted tools and cross tools that build x86 and x64 code are also installed. Если выбрать необязательные средства универсальной платформы Windows для C++, также устанавливаются средства для платформ x86 и x64, которые собирают код ARM и ARM64. If you choose the optional C++ Universal Windows Platform tools, then the x86 and x64 tools that build ARM and ARM64 code also get installed. Другие рабочие нагрузки могут устанавливать дополнительные средства. Other workloads may install additional tools.
Ярлыки командной строки разработчика Developer command prompt shortcuts
Ярлыки командной строки устанавливаются в папке конкретной версии Visual Studio в меню «Пуск». The command prompt shortcuts are installed in a version-specific Visual Studio folder in your Start menu. Ниже приведен список основных ярлыков командной строки и архитектуры сборки, которые они поддерживают: Here’s a list of the base command prompt shortcuts and the build architectures they support:
- Командная строка разработчика — указывает среде использовать 32-разрядные собственные инструменты x86 для сборки 32-разрядного машинного кода x86. Developer Command Prompt — Sets the environment to use 32-bit, x86-native tools to build 32-bit, x86-native code.
- Командная строка Native Tools x86 — указывает среде использовать 32-разрядные собственные инструменты x86 для сборки 32-разрядного машинного кода x86. x86 Native Tools Command Prompt — Sets the environment to use 32-bit, x86-native tools to build 32-bit, x86-native code.
- Командная строка Native Tools x64 — указывает среде использовать 64-разрядные собственные инструменты x64 для сборки 64-разрядного машинного кода x64. x64 Native Tools Command Prompt — Sets the environment to use 64-bit, x64-native tools to build 64-bit, x64-native code.
- Командная строка Cross Tools x86_x64 — указывает среде использовать 32-разрядные собственные инструменты x86 для сборки 64-разрядного машинного кода x64. x86_x64 Cross Tools Command Prompt — Sets the environment to use 32-bit, x86-native tools to build 64-bit, x64-native code.
- Командная строка Cross Tools x64_x86 — указывает среде использовать 64-разрядные собственные инструменты x64 для сборки 32-разрядного машинного кода x86. x64_x86 Cross Tools Command Prompt — Sets the environment to use 64-bit, x64-native tools to build 32-bit, x86-native code.
Имена ярлыков и папок в меню «Пуск» зависят от установленной версии Visual Studio. The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. Они также зависят от Псевдонима установки, если вы его задали. If you set one, they also depend on the installation Nickname. Например, предположим, что вы установили Visual Studio 2019 и присвоили ей псевдоним Последняя версия. For example, suppose you installed Visual Studio 2019, and you gave it a nickname of Latest. Ярлык командной строки разработчика будет называться Командная строка разработчика для VS 2019 (последняя версия) в папке с именем Visual Studio 2019. The developer command prompt shortcut is named Developer Command Prompt for VS 2019 (Latest) , in a folder named Visual Studio 2019.
Имена ярлыков и папок в меню «Пуск» зависят от установленной версии Visual Studio. The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. Они также зависят от Псевдонима установки, если вы его задали. If you set one, they also depend on the installation Nickname. Например, предположим, что вы установили Visual Studio 2017 и присвоили ей псевдоним Последняя версия. For example, suppose you installed Visual Studio 2017, and you gave it a nickname of Latest. Ярлык командной строки разработчика называется Командная строка разработчика для VS 2017 (последняя версия) в папке с именем Visual Studio 2017. The developer command prompt shortcut is named Developer Command Prompt for VS 2017 (Latest) , in a folder named Visual Studio 2017.
Имена ярлыков и папок в меню «Пуск» зависят от установленной версии Visual Studio. The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. Например, предположим, что вы установили Visual Studio 2015. For example, suppose you installed Visual Studio 2015. Ярлык командной строки разработчика называется Командная строка разработчика для VS 2015. The developer command prompt shortcut is named Developer Command Prompt for VS 2015.
Открытие окна «Командная строка разработчика» To open a developer command prompt window
На рабочем столе откройте меню Пуск Windows, прокрутите вниз, чтобы найти и открыть папку вашей версии Visual Studio, например Visual Studio 2019. On the desktop, open the Windows Start menu, and then scroll to find and open the folder for your version of Visual Studio, for example, Visual Studio 2019.
В папке выберите ярлык Командная строка разработчика для вашей версии Visual Studio. In the folder, choose the Developer Command Prompt for your version of Visual Studio. Этот ярлык запускает окно командной строки разработчика, которое использует архитектуру сборки по умолчанию: 32-разрядные собственные инструменты x86 для сборки 32-разрядного машинного кода x86. This shortcut starts a developer command prompt window that uses the default build architecture of 32-bit, x86-native tools to build 32-bit, x86-native code. Если вы предпочитаете архитектуру сборки не по умолчанию, выберите одну из собственных командных строк или командную строку инструментов кросс-компиляции, чтобы указать узел и целевую архитектуру. If you prefer a non-default build architecture, choose one of the native or cross tools command prompts to specify the host and target architecture.
Более быстрый способ открыть командную строку разработчика — ввести запрос командная строка разработчика в поле поиска на рабочем столе. For an even faster way to open a developer command prompt, enter developer command prompt in the desktop search box. Затем выберите нужный результат. Then choose the result you want.
Расположение командных файлов разработчика Developer command file locations
Если вам необходимо установить среду сборки в открытом окне командной строки, можно использовать один из командных файлов, созданных установщиком. If you prefer to set the build environment in an existing command prompt window, you can use one of the command files created by the installer. Рекомендуем задавать среду в новом окне командной строки. We recommend you set the environment in a new command prompt window. Не рекомендуется менять среды позднее в том же окне командной строки. We don’t recommend you later switch environments in the same command window.
Расположение командного файла зависит от установленной версии Visual Studio и расположения, выбранного во время установки. The command file location depends on the version of Visual Studio you installed, and on choices you made during installation. Visual Studio 2019 обычно устанавливается в 64-разрядной системе в папке \Program Files (x86)\Microsoft Visual Studio\2019\выпуск. For Visual Studio 2019, the typical installation location on a 64-bit system is in \Program Files (x86)\Microsoft Visual Studio\2019\edition. Выпуском может быть Community, Professional, Enterprise, Build Tools или другой введенный псевдоним. Edition may be Community, Professional, Enterprise, BuildTools, or another nickname you supplied.
Расположение командного файла зависит от установленной версии Visual Studio и расположения, выбранного во время установки. The command file location depends on the version of Visual Studio you installed, and on choices you made during installation. Visual Studio 2017 обычно устанавливается в 64-разрядной системе в папке \Program Files (x86)\Microsoft Visual Studio\2017\выпуск. For Visual Studio 2017, the typical installation location on a 64-bit system is in \Program Files (x86)\Microsoft Visual Studio\2017\edition. Выпуском может быть Community, Professional, Enterprise, Build Tools или другой введенный псевдоним. Edition may be Community, Professional, Enterprise, BuildTools, or another nickname you supplied.
Расположение командного файла зависит от версии Visual Studio и каталога установки. The command file location depends on the Visual Studio version, and the installation directory. Visual Studio 2015 обычно устанавливается в папке \Program Files (x86)\Microsoft Visual Studio 14.0. For Visual Studio 2015, the typical installation location is in \Program Files (x86)\Microsoft Visual Studio 14.0.
Основной командный файл командной строки разработчика VsDevCmd.bat находится в подкаталоге Common7\Tools. The primary developer command prompt command file, VsDevCmd.bat, is located in the Common7\Tools subdirectory. Если параметры не указаны, он указывает среде использовать собственные инструменты x86 для создания 32-разрядного кода x86. When no parameters are specified, it sets the environment to use the x86-native tools to build 32-bit x86 code.
Для настройки конкретных архитектур сборки доступны дополнительные командные файлы. More command files are available to set up specific build architectures. Доступные командные файлы зависят от установленных рабочих нагрузок и параметров Visual Studio. The command files available depend on the Visual Studio workloads and options you’ve installed. Для Visual Studio 2017 и Visual Studio 2019 они будут находиться в подкаталоге VC\Auxiliary\Build. In Visual Studio 2017 and Visual Studio 2019, you’ll find them in the VC\Auxiliary\Build subdirectory.
Для настройки конкретных архитектур сборки доступны дополнительные командные файлы. More command files are available to set up specific build architectures. Доступные командные файлы зависят от установленных рабочих нагрузок и параметров Visual Studio. The command files available depend on the Visual Studio workloads and options you’ve installed. В Visual Studio 2015 они находятся в подкаталогах VC, VC\bin или VC\bin\архитектура , где архитектура — собственный вариант или кросс-компилятор. In Visual Studio 2015, they’re located in the VC, VC\bin, or VC\bin\architecture subdirectories, where architecture is one of the native or cross-compiler options.
Эти командные файлы устанавливают параметры по умолчанию и вызывают VsDevCmd.bat, чтобы настроить указанную среду архитектуры сборки. These command files set default parameters and call VsDevCmd.bat to set up the specified build architecture environment. Обычная установка может включать следующие командные файлы: A typical installation may include these command files:
Командный файл Command File | Узел и целевые архитектуры Host and Target architectures |
---|---|
vcvars32.bat vcvars32.bat | Использует 32-разрядные собственные инструменты x86 для сборки 32-разрядного машинного кода x86. Use the 32-bit x86-native tools to build 32-bit x86 code. |
vcvars64.bat vcvars64.bat | Использует 64-разрядные собственные инструменты x64 для сборки 64-разрядного кода x64. Use the 64-bit x64-native tools to build 64-bit x64 code. |
vcvarsx86_amd64.bat vcvarsx86_amd64.bat | Использует 32-разрядные собственные инструменты кросс-компиляции x86 для сборки 64-разрядного кода x64. Use the 32-bit x86-native cross tools to build 64-bit x64 code. |
vcvarsamd64_x86.bat vcvarsamd64_x86.bat | Использует 64-разрядные собственные инструменты кросс-компиляции x64 для сборки 32-разрядного кода x86. Use the 64-bit x64-native cross tools to build 32-bit x86 code. |
vcvarsx86_arm.bat vcvarsx86_arm.bat | Использует 32-разрядные собственные инструменты кросс-компиляции x86 для сборки кода ARM. Use the 32-bit x86-native cross tools to build ARM code. |
vcvarsamd64_arm.bat vcvarsamd64_arm.bat | Использует 64-разрядные собственные инструменты кросс-компиляции x64 для сборки кода ARM. Use the 64-bit x64-native cross tools to build ARM code. |
vcvarsall.bat vcvarsall.bat | Использует параметры для указания узла и целевой архитектуры, пакета Windows SDK и платформы. Use parameters to specify the host and target architectures, Windows SDK, and platform choices. Список поддерживаемых вариантов можно вызвать параметром /help. For a list of supported options, call by using a /help parameter. |
Файл vcvarsall.bat и другие командные файлы Visual Studio могут различаться на разных компьютерах. The vcvarsall.bat file and other Visual Studio command files can vary from computer to computer. Не заменяйте отсутствующий или поврежденный файл vcvarsall.bat файлом с другого компьютера. Do not replace a missing or damaged vcvarsall.bat file by using a file from another computer. Перезапустите Visual Studio Installer, чтобы заменить отсутствующий файл. Rerun the Visual Studio installer to replace the missing file.
Файл vcvarsall.bat также может иметь отличия в разных версиях. The vcvarsall.bat file also varies from version to version. Если текущая версия Visual Studio установлена на компьютере, на котором также имеется более ранняя версия Visual Studio, не запускайте файл vcvarsall.bat или другой командный файл других версий в том же окне командной строки. If the current version of Visual Studio is installed on a computer that also has an earlier version of Visual Studio, do not run vcvarsall.bat or another Visual Studio command file from different versions in the same command prompt window.
Использование средств разработчика в существующем окне командной строки Use the developer tools in an existing command window
Самый простой способ указать конкретную архитектуру сборки в существующем окне команд — использовать файл vcvarsall.bat. The simplest way to specify a particular build architecture in an existing command window is to use the vcvarsall.bat file. Используйте файл vcvarsall.bat, чтобы задать переменные среды для настройки командной строки для собственной 32- или 64-разрядной компиляции. Use vcvarsall.bat to set environment variables to configure the command line for native 32-bit or 64-bit compilation. Аргументы позволяют указать кросс-компиляцию для процессоров x86, x64, ARM или ARM64. Arguments let you specify cross-compilation to x86, x64, ARM, or ARM64 processors. Вы можете указать в качестве целевой платформы Microsoft Store, универсальную платформу Windows или платформу классических приложений Windows. You can target Microsoft Store, Universal Windows Platform, or Windows Desktop platforms. Можно даже указать, какой пакет Windows SDK использовать, и выбрать версию набора инструментов платформы. You can even specify which Windows SDK to use, and select the platform toolset version.
Если аргументы не используются, файл vcvarsall.bat настраивает переменные среды для использования текущего собственного компилятора x86 для 32-разрядных целевых классических приложений Windows. When used with no arguments, vcvarsall.bat configures the environment variables to use the current x86-native compiler for 32-bit Windows Desktop targets. Можно добавить аргументы, чтобы настроить среду для использования собственных инструментов или инструментов кросс-компиляции. You can add arguments to configure the environment to use any of the native or cross compiler tools. Файл vcvarsall.bat выводит сообщение об ошибке, если указанная конфигурация не установлена или недоступна на компьютере. vcvarsall.bat displays an error message if you specify a configuration that’s not installed, or not available on your computer.
Синтаксис vcvarsall vcvarsall syntax
vcvarsall.bat [ architecture ] [ platform_type ] [ winsdk_version ] [ -vcvars_ver= vcversion ] vcvarsall.bat [ architecture ] [ platform_type ] [ winsdk_version ] [ -vcvars_ver=vcversion ]
architecture architecture
Этот необязательный аргумент указывает узел и целевую архитектуру для использования. This optional argument specifies the host and target architecture to use. Если параметр architecture не указан, используется среда сборки по умолчанию. If architecture isn’t specified, the default build environment is used. Поддерживаются следующие аргументы: These arguments are supported:
architecture architecture | Компилятор Compiler | Архитектура главного компьютера Host computer architecture | Архитектура выходных данных сборки (целевая) Build output (target) architecture |
---|---|---|---|
x86 x86 | собственный 32-разрядный x86 x86 32-bit native | x86, x64 x86, x64 | x86 x86 |
x86_amd64 или x86_x64 x86_amd64 or x86_x64 | x64 для x86 (кросс-компилятор) x64 on x86 cross | x86, x64 x86, x64 | x64 x64 |
x86_arm x86_arm | ARM для x86 (кросс-компилятор) ARM on x86 cross | x86, x64 x86, x64 | ARM ARM |
x86_arm64 x86_arm64 | ARM64 для x86 (кросс-компилятор) ARM64 on x86 cross | x86, x64 x86, x64 | ARM64 ARM64 |
amd64 или x64 amd64 or x64 | Собственный 64-разрядный x64 x64 64-bit native | X64 x64 | x64 x64 |
amd64_x86 или x64_x86 amd64_x86 or x64_x86 | x86 для x64 (кросс-компилятор) x86 on x64 cross | X64 x64 | x86 x86 |
amd64_arm или x64_arm amd64_arm or x64_arm | ARM для x64 (кросс-компилятор) ARM on x64 cross | X64 x64 | ARM ARM |
amd64_arm64 или x64_arm64 amd64_arm64 or x64_arm64 | ARM64 для x64 (кросс-компилятор) ARM64 on x64 cross | X64 x64 | ARM64 ARM64 |
platform_type platform_type
Этот необязательный аргумент позволяет указать store или uwp в качестве типа платформы. This optional argument allows you to specify store or uwp as the platform type. По умолчанию среда настроена на сборку классических или консольных приложений. By default, the environment is set to build desktop or console apps.
winsdk_version winsdk_version
При необходимости указывает версию Windows SDK для использования. Optionally specifies the version of the Windows SDK to use. По умолчанию используется последняя установленная версия Windows SDK. By default, the latest installed Windows SDK is used. Чтобы указать версию Windows SDK, можно использовать полный номер пакета Windows 10 SDK, например 10.0.10240.0 , или указать 8.1 , чтобы использовать Windows 8.1 SDK. To specify the Windows SDK version, you can use a full Windows 10 SDK number such as 10.0.10240.0 , or specify 8.1 to use the Windows 8.1 SDK.
vcversion vcversion
При необходимости указывает набор инструментов компилятора Visual Studio для использования. Optionally specifies the Visual Studio compiler toolset to use. По умолчанию среда должна использовать текущий набор инструментов компилятора Visual Studio. By default, the environment is set to use the current Visual Studio compiler toolset.
Используйте -vcvars_ver=14.2x.yyyyy , чтобы указать конкретную версию набора инструментов компилятора Visual Studio 2019. Use -vcvars_ver=14.2x.yyyyy to specify a specific version of the Visual Studio 2019 compiler toolset.
Используйте -vcvars_ver=14.16 , чтобы указать последнюю версию набора инструментов компилятора Visual Studio 2017. Use -vcvars_ver=14.16 to specify the latest version of the Visual Studio 2017 compiler toolset.
Используйте -vcvars_ver=14.16 , чтобы указать последнюю версию набора инструментов компилятора Visual Studio 2017. Use -vcvars_ver=14.16 to specify the latest version of the Visual Studio 2017 compiler toolset.
Используйте -vcvars_ver=14.1x.yyyyy , чтобы указать конкретную версию набора инструментов компилятора Visual Studio 2017. Use -vcvars_ver=14.1x.yyyyy to specify a specific version of the Visual Studio 2017 compiler toolset.
Используйте -vcvars_ver=14.0 , чтобы указать набор инструментов компилятора Visual Studio 2015. Use -vcvars_ver=14.0 to specify the Visual Studio 2015 compiler toolset.
Настройка среды сборки в существующем окне командной строки To set up the build environment in an existing command prompt window
В командной строке выполните команду CD, чтобы перейти на каталог установки Visual Studio. At the command prompt, use the CD command to change to the Visual Studio installation directory. Затем снова используйте CD, чтобы перейти в подкаталог, который содержит зависящие от конфигурации командные файлы. Then, use CD again to change to the subdirectory that contains the configuration-specific command files. Для Visual Studio 2019 и Visual Studio 2017 используется подкаталог VC\Auxiliary\Build. For Visual Studio 2019 and Visual Studio 2017, use the VC\Auxiliary\Build subdirectory. Для Visual Studio 2015 используйте подкаталог VC. For Visual Studio 2015, use the VC subdirectory.
Введите команду для вашей среды разработки. Enter the command for your preferred developer environment. Например, для сборки кода ARM для универсальной платформы Windows на 64-разрядной платформе с последней версией Windows SDK и набором инструментов компилятора Visual Studio используйте эту командную строку: For example, to build ARM code for UWP on a 64-bit platform, using the latest Windows SDK and Visual Studio compiler toolset, use this command line:
vcvarsall.bat amd64_arm uwp
Создание собственных ярлыков командной строки Create your own command prompt shortcut
Откройте диалоговое окно свойств для ярлыка командной строки разработчика, чтобы увидеть использованный целевой объект команды. Open the Properties dialog for a developer command prompt shortcut to see the command target used. Например, целевой объект для ярлыка командной строки Native Tools x64 для VS 2019 выглядит примерно следующим образом: For example, the target for the x64 Native Tools Command Prompt for VS 2019 shortcut is something similar to:
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat»
Откройте диалоговое окно свойств для ярлыка командной строки разработчика, чтобы увидеть использованный целевой объект команды. Open the Properties dialog for a developer command prompt shortcut to see the command target used. Например, целевой объект для ярлыка командной строки Native Tools x64 для VS 2017 выглядит примерно следующим образом: For example, the target for the x64 Native Tools Command Prompt for VS 2017 shortcut is something similar to:
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat»
Откройте диалоговое окно свойств для ярлыка командной строки разработчика, чтобы увидеть использованный целевой объект команды. Open the Properties dialog for a developer command prompt shortcut to see the command target used. Например, целевой объект для ярлыка командной строки Native Tools x64 для VS 2015 выглядит примерно следующим образом: For example, the target for the VS2015 x64 Native Tools Command Prompt shortcut is something similar to:
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat» amd64
Пакетные файлы конкретной архитектуры задают параметр architecture и вызывают vcvarsall.bat. The architecture-specific batch files set the architecture parameter and call vcvarsall.bat. Вы можете передать те же параметры в эти пакетные файлы, как вы бы передали их в файл vcvarsall.bat, или можно просто вызвать vcvarsall.bat напрямую. You can pass the same options to these batch files as you would pass to vcvarsall.bat, or you can just call vcvarsall.bat directly. Чтобы задать параметры для ярлыка своей командной строки, добавьте их в конец команды в двойных кавычках. To specify parameters for your own command shortcut, add them to the end of the command in double-quotes. Например, вот ярлык для сборки кода ARM для универсальной платформы Windows на 64-разрядной платформе с последней версией Windows SDK. For example, here’s a shortcut to build ARM code for UWP on a 64-bit platform, using the latest Windows SDK. Чтобы использовать более раннюю версию набора инструментов компилятора, укажите номер версии. To use an earlier compiler toolset, specify the version number. Используйте подобный целевой объект команды в ярлыке: Use something like this command target in your shortcut:
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat» amd64_arm uwp -vcvars_ver=14.16
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat» amd64_arm uwp -vcvars_ver=14.0
%comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat» amd64 -vcvars_ver=12.0
Измените путь, чтобы указать каталог установки Visual Studio. Adjust the path to reflect your Visual Studio installation directory. Файл vcvarsall.bat содержит дополнительную информацию об определенных номерах версии. The vcvarsall.bat file has additional information about specific version numbers.
Средства командной строки Command-line tools
Для сборки проекта C/C++ из командной строки Visual Studio предоставляет следующие программы командной строки: To build a C/C++ project at a command prompt, Visual Studio provides these command-line tools:
CL CL
Используйте компилятор (cl.exe) для компиляции и компоновки файлов исходного кода в приложения, библиотеки и DLL. Use the compiler (cl.exe) to compile and link source code files into apps, libraries, and DLLs.
Ссылка Link
Используйте компоновщик (link.exe) для компоновки скомпилированных объектных файлов и библиотек в приложения и DLL. Use the linker (link.exe) to link compiled object files and libraries into apps and DLLs.
NMAKE NMAKE
Используйте NMAKE (nmake.exe) в Windows для создания проектов C++ на основе традиционного файла makefile. Use NMAKE (nmake.exe) on Windows to build C++ projects based on a traditional makefile.
При сборке в командной строке команда F1 для получения мгновенной справки недоступна. When you build on the command line, the F1 command isn’t available for instant help. Вместо этого используйте поисковую систему для получения сведений о предупреждениях, ошибках и сообщениях. Instead, you can use a search engine to get information about warnings, errors, and messages. Также можно скачать и применить автономные файлы справки. You can also download and use the offline help files. Чтобы использовать функцию поиска в docs.microsoft.com, введите строку поиска в поле поиска в верхней части любой статьи. To use the search in docs.microsoft.com, enter your query in the search box at the top of any article.
Средства управления проектами из командной строки Command-line project management tools
В интегрированной среде разработки Visual Studio используется собственная система сборки проектов на основе MSBuild. The Visual Studio IDE uses a native project build system based on MSBuild. Вы можете вызвать MSBuild напрямую или использовать собственную систему сборки проектов без интегрированной среды разработки: You can invoke MSBuild directly, or use the native project system without using the IDE:
MSBuild MSBuild
Используйте MSBuild (msbuild.exe) и файл проекта (VCXPROJ) для настройки сборки и косвенного вызова набора инструментов. Use MSBuild (msbuild.exe) and a project file (.vcxproj) to configure a build and invoke the toolset indirectly. Это аналогично выполнению команд Собрать проект или Собрать решение в интегрированной среде разработки Visual Studio. It’s equivalent to running the Build project or Build Solution command in the Visual Studio IDE. Запуск MSBuild из командной строки является усложненным сценарием и обычно не рекомендуется. Running MSBuild from the command line is an advanced scenario and not commonly recommended. Начиная с Visual Studio версии 16.5, MSBuild не использует среду командной строки для управления набором инструментов и используемыми библиотеками. Starting in Visual Studio version 16.5, MSBuild doesn’t use the command-line environment to control the toolset and libraries used.
DEVENV DEVENV
Используйте DEVENV (devenv.exe) вместе с параметром командной строки, например /Build или /Clean , для выполнения определенных команд сборки без отображения интегрированной среды разработки Visual Studio. Use DEVENV (devenv.exe) combined with a command-line switch such as /Build or /Clean to execute certain build commands without displaying the Visual Studio IDE. В целом это удобнее, чем использовать MSBuild напрямую, так как вы можете позволить Visual Studio обрабатывать сложные аспекты MSBuild. In general, DEVENV is preferred over using MSBuild directly, because you can let Visual Studio handle the complexities of MSBuild. Начиная с Visual Studio версии 16.5, DEVENV не использует среду командной строки для управления набором инструментов и используемыми библиотеками. Starting in Visual Studio version 16.5, DEVENV does not use the command-line environment to control the toolset and libraries used.
Содержание раздела In this section
В этих статьях показано, как создавать приложения в командной строке, а также описано, как настроить среду сборки из командной строки. These articles show how to build apps on the command line, and describe how to customize the command-line build environment. В некоторых из них показано, как использовать 64-разрядные наборы инструментов и целевые платформы x86, x64, ARM и ARM64. Some show how to use 64-bit toolsets, and target x86, x64, ARM, and ARM64 platforms. Они также описывают использование средств сборки из командной строки MSBuild и NMAKE. They also describe use of the command-line build tools MSBuild and NMAKE.
Пошаговое руководство: компиляция собственной программы на языке C++ из командной строки Walkthrough: Compiling a native C++ program on the command line
Содержит пример создания и компиляции программы на языке C++ из командной строки. Gives an example that shows how to create and compile a C++ program on the command line.
Пошаговое руководство: Компиляция программы на языке C из командной строки Walkthrough: Compile a C program on the command line
Описывается компиляция программы, написанной на языке программирования C. Describes how to compile a program written in the C programming language.
Пошаговое руководство: компиляция программы на языке C++/CLI из командной строки Walkthrough: Compiling a C++/CLI program on the command line
Описывается создание и компиляция программы C++/CLI, в которой используется платформа .NET Framework. Describes how to create and compile a C++/CLI program that uses the .NET Framework.
Пошаговое руководство: компиляция программы на языке C++/CX из командной строки Walkthrough: Compiling a C++/CX program on the command line
Описывается создание и компиляция программы C++/CX, в которой используется среда выполнения Windows. Describes how to create and compile a C++/CX program that uses the Windows Runtime.
Установка переменных пути и среды при сборке из командной строки Set the path and environment variables for command-line builds
Настройка переменных среды для использования 32- или 64-разрядного набора инструментов для целевых платформ x86, x64, ARM и ARM64. How to set environment variables to use a 32-bit or 64-bit toolset to target x86, x64, ARM, and ARM64 platforms.
NMAKE reference (Справочник по NMAKE) NMAKE reference
Содержит ссылки на статьи, в которых описывается служебная программа обслуживания программ Майкрософт (NMAKE.EXE). Provides links to articles that describe the Microsoft Program Maintenance Utility (NMAKE.EXE).
MSBuild в командной строке — C++ MSBuild on the command line — C++
Содержит ссылки на статьи, в которых рассматривается использование программы msbuild.exe из командной строки. Provides links to articles that discuss how to use msbuild.exe from the command line.
Связанные разделы Related sections
/MD, /MT, /LD (использование библиотеки времени выполнения) /MD, /MT, /LD (Use run-time library)
Описывается использование этих параметров компилятора для работы с библиотекой времени выполнения отладки или выпуска. Describes how to use these compiler options to use a Debug or Release run-time library.
Параметры компилятора C/C++ C/C++ compiler options
Содержит ссылки на статьи, посвященные параметрам компилятора C и C++, а также программе CL.exe. Provides links to articles that discuss the C and C++ compiler options and CL.exe.
Параметры компоновщика MSVC MSVC linker options
Содержит ссылки на статьи, посвященные параметрам компоновщика и программе LINK.exe. Provides links to articles that discuss the linker options and LINK.exe.
Дополнительные средства сборки MSVC Additional MSVC build tools
Содержит ссылки на средства сборки C/C++, включенные в состав Visual Studio. Provides links to the C/C++ build tools that are included in Visual Studio.