Создание проекта CMake для Linux в Visual StudioCreate a CMake Linux project in Visual Studio

Поддержка Linux реализована в Visual Studio версии 2017 и выше.Linux support is available in Visual Studio 2017 and later. Чтобы увидеть документацию для этих версий, установите в расположенном над содержанием раскрывающемся списке Версия пункт Visual Studio 2017 или Visual Studio 2019.To see the documentation for these versions, set the Version drop-down located above the table of contents to Visual Studio 2017 or Visual Studio 2019.

Рекомендуется использовать CMake для проектов, которые являются кроссплатформенными или будут создаваться с открытым кодом.We recommend you use CMake for projects that are cross-platform or will be made open-source. Проекты CMake можно использовать для сборки и отладки одного и того же исходного кода в Windows, подсистеме Windows для Linux (WSL) и удаленных системах.You can use CMake projects to build and debug the same source code on Windows, the Windows Subsystem for Linux (WSL), and remote systems.

Перед началомBefore you begin

Сначала убедитесь, что вы установили рабочую нагрузку Visual Studio для Linux, включая компонент CMake.First, make sure you have the Visual Studio Linux workload installed, including the CMake component. Она является рабочей нагрузкой Разработка для Linux на C++ в Visual Studio Installer.That's the Linux development with C++ workload in the Visual Studio installer. Если вы не уверены в том, что она установлена, см. статью Загрузка, установка и настройка рабочей нагрузки Linux.See Install the C++ Linux workload in Visual Studio if you aren't sure you have that installed.

Также убедитесь, что на удаленном компьютере установлены следующие компоненты:Also, make sure the following are installed on the remote machine:

  • gccgcc
  • gdbgdb
  • rsyncrsync
  • zipzip
  • ninja-build (Visual Studio 2019 или более поздней версии)ninja-build (Visual Studio 2019 or above)

Для поддержки CMake в Visual Studio требуется поддержка режима сервера, введенная в CMake 3.8.The CMake support in Visual Studio requires server mode support introduced in CMake 3.8. Для версии CMake от Майкрософт скачайте последние готовые двоичные файлы по адресу https://github.com/Microsoft/CMake/releases.For a Microsoft-provided CMake variant, download the latest prebuilt binaries at https://github.com/Microsoft/CMake/releases.

Двоичные файлы устанавливаются в каталог ~/.vs/cmake.The binaries are installed in ~/.vs/cmake. После развертывания двоичных файлов автоматически выполняется повторное создание проекта.After deploying the binaries, your project automatically regenerates. Если файл CMake, указанный в поле cmakeExecutable в CMakeSettings.json , является недопустимым (файл не существует или версия файла не поддерживается), то при наличии предварительно созданных двоичных файлов Visual Studio игнорирует поле cmakeExecutable и использует эти предварительно созданные двоичные файлы.If the CMake specified by the cmakeExecutable field in CMakeSettings.json is invalid (it doesn't exist or is an unsupported version), and the prebuilt binaries are present, Visual Studio ignores cmakeExecutable and uses the prebuilt binaries.

Visual Studio 2017 не может создать проект CMake с нуля, но можно открыть папку, содержащую имеющийся проект CMake, как описано в следующем разделе.Visual Studio 2017 can't create a CMake project from scratch, but you can open a folder that contains an existing CMake project, as described in the next section.

Visual Studio 2019 можно использовать для сборки и отладки в удаленной системе Linux или WSL, и в этой системе будет вызываться CMake.You can use Visual Studio 2019 to build and debug on a remote Linux system or WSL, and CMake will be invoked on that system. На целевом компьютере должен быть установлен Cmake версии 3.14 или более поздней.Cmake version 3.14 or later should be installed on the target machine.

Убедитесь, что на целевом компьютере установлена последняя версия CMake.Make sure that the target machine has a recent version of CMake. Часто в дистрибутиве версия, которую предлагает диспетчер пакетов по умолчанию, не является актуальной и не поддерживает все функции, необходимые для работы с Visual Studio.Often, the version offered by a distribution's default package manager isn't recent enough to support all the features required by Visual Studio. Visual Studio 2019 определяет, установлена ли последняя версия CMake в системе Linux.Visual Studio 2019 detects whether a recent version of CMake is installed on the Linux system. Если такая версия не найдена, Visual Studio отображает информационную панель в верхней части области редактора.If none is found, Visual Studio shows an info-bar at the top of the editor pane. В ней предлагается установить CMake из https://github.com/Microsoft/CMake/releases.It offers to install CMake for you from https://github.com/Microsoft/CMake/releases.

С помощью Visual Studio 2019 можно создать проект CMake с нуля или открыть имеющийся.With Visual Studio 2019, you can create a CMake project from scratch, or open an existing CMake project. Чтобы создать проект CMake, следуйте приведенным ниже инструкциям.To create a new CMake project, follow the instructions below. Или перейдите к разделу Открытие папки проекта CMake, если у вас уже есть проект CMake.Or skip ahead to Open a CMake project folder if you already have a CMake project.

Создание нового проекта CMake в LinuxCreate a new Linux CMake project

Чтобы создать проект Linux CMake в Visual Studio 2019, сделайте следующее:To create a new Linux CMake project in Visual Studio 2019:

  1. Выберите Файл > Создать проект в меню Visual Studio или нажмите клавиши Ctrl + Shift + N.Select File > New Project in Visual Studio, or press Ctrl + Shift + N.
  2. Задайте для параметра Язык значение C++ и выполните поиск по строке CMake.Set the Language to C++ and search for "CMake". Теперь щелкните Далее.Then choose Next. Укажите имя и расположение , а затем щелкните Создать.Enter a Name and Location , and choose Create.

Кроме того, можно открыть собственный проект CMake в Visual Studio 2019.Alternatively, you can open your own CMake project in Visual Studio 2019. Подробные сведения см. в следующем разделе.The following section explains how.

Visual Studio создает минимальный файл CMakeLists.txt , в котором содержится только имя исполняемого файла и минимальная требуемая версия CMake.Visual Studio creates a minimal CMakeLists.txt file with only the name of the executable and the minimum CMake version required. При необходимости вы можете вручную изменить этот файл. Visual Studio никогда не переопределяет пользовательские изменения.You can manually edit this file however you like; Visual Studio will never overwrite your changes.

Чтобы получить представление об изменении и создании сценариев CMake в Visual Studio 2019, ознакомьтесь со следующими материалами:To help you make sense of, edit, and author your CMake scripts in Visual Studio 2019, refer to the following resources:

Открытие папки проекта CMakeOpen a CMake project folder

Когда вы открываете папку, содержащую существующий проект CMake, Visual Studio автоматически настраивает IntelliSense и сборки, используя переменные в кэше CMake.When you open a folder that contains an existing CMake project, Visual Studio uses variables in the CMake cache to automatically configure IntelliSense and builds. Локальные параметры конфигурации и отладки хранятся в файлах JSON.Local configuration and debugging settings get stored in JSON files. При желании вы можете предоставить доступ к этим файлам другим пользователям Visual Studio.You can optionally share these files with others who are using Visual Studio.

Visual Studio не изменяет файлы CMakeLists.txt.Visual Studio doesn't modify the CMakeLists.txt files. Это позволяет вашим коллегам, работающим над тем же проектом, продолжать использовать имеющиеся инструменты.This allows others working on the same project to continue to use their existing tools. После того как вы сохраните изменения в файле CMakeLists.txt и (в некоторых случаях) в файле CMakeSettings.json , Visual Studio повторно создает кэш.Visual Studio does regenerate the cache when you save edits to CMakeLists.txt , or in some cases, to CMakeSettings.json. Если вы используете конфигурацию Существующий кэш , то Visual Studio не изменяет содержимое кэша.If you're using an Existing Cache configuration, then Visual Studio doesn't modify the cache.

Общие сведения о поддержке CMake в Visual Studio см. в статье о проектах CMake в Visual Studio.For general information about CMake support in Visual Studio, see CMake projects in Visual Studio. Прочитайте статью, прежде чем продолжить чтение этого раздела.Read that before continuing here.

Чтобы приступить к работе, в главном меню последовательно выберите пункты Файл > Открыть > Папка или введите devenv.exe <foldername> в окне командной строки разработчика.To get started, choose File > Open > Folder from the main menu or else type devenv.exe <foldername> in a developer command prompt window. В открываемой паке должен находиться файл CMakeLists.txt вместе с исходным кодом.The folder you open should have a CMakeLists.txt file in it, along with your source code.

Ниже приведен пример простого файла CMakeLists.txt и CPP-файла.The following example shows a simple CMakeLists.txt file and .cpp file:

// hello.cpp

#include <iostream>

int main(int argc, char* argv[])
{
    std::cout << "Hello from Linux CMake" << std::endl;
}

CMakeLists.txt :CMakeLists.txt :

cmake_minimum_required(VERSION 3.8)
project (hello-cmake)
add_executable(hello-cmake hello.cpp)

Дальнейшие действияNext steps

Настройка проекта Linux CMakeConfigure a Linux CMake project

См. такжеSee also

Проекты CMake в Visual StudioCMake Projects in Visual Studio