Creación de un proyecto de CMake para Linux en Visual Studio

La compatibilidad con Linux está disponible en Visual Studio 2017 y versiones posteriores. Para ver la documentación correspondiente a estas versiones, establezca la lista desplegable Versión que se encuentra sobre la tabla de contenido en Visual Studio 2017 o Visual Studio 2019.

Se recomienda usar CMake para los proyectos que son multiplataforma o que se convertirán en proyectos de código abierto. Puede usar proyectos de CMake para compilar y depurar el mismo código fuente en Windows, el Subsistema de Windows para Linux (WSL) y los sistemas remotos.

Antes de empezar

En primer lugar, asegúrese de que tiene instalada la carga de trabajo de Visual Studio para Linux, incluido el componente de CMake. Se trata de la carga de trabajo Desarrollo de Linux con C++ del instalador de Visual Studio. Consulte Instalación de la carga de trabajo de Linux para C++ en Visual Studio si no está seguro de que está instalada.

Además, asegúrese de que los elementos siguientes estén instalados en la máquina remota:

  • gcc
  • gdb
  • rsync
  • zip
  • ninja-build (Visual Studio 2019 o versiones superiores)

La compatibilidad de CMake en Visual Studio requiere la compatibilidad de modo de servidor que se introdujo en CMake 3.8. Para ver una variante de CMake proporcionada por Microsoft, descargue los archivos binarios creados previamente más recientes en https://github.com/Microsoft/CMake/releases.

Los archivos binarios se instalan en ~/.vs/cmake. Después de su implementación, el proyecto se vuelve a generar automáticamente. Si la versión de CMake especificada en el campo cmakeExecutable de CMakeSettings.json no es válida (no existe o es una versión no compatible) y los binarios creados previamente están presentes, Visual Studio ignorará cmakeExecutable y usará los binarios creados previamente.

Visual Studio 2017 no puede crear un proyecto de CMake desde cero, pero se puede abrir una carpeta que contenga un proyecto de CMake existente, tal como se describe en la sección siguiente.

Puede usar Visual Studio 2019 para compilar y depurar en un sistema Linux remoto o WSL y CMake se invocará en ese sistema. La versión 3.14 de CMake o una versión posterior debe estar instalada en la máquina de destino.

Asegúrese de que la máquina de destino tiene una versión reciente de CMake. A menudo, la versión que ofrece el administrador de paquetes predeterminado de una distribución no es lo bastante reciente para admitir todas las características que Visual Studio requiere. Visual Studio 2019 detecta si hay una versión reciente de CMake instalada en el sistema Linux. Si no encuentra ninguna, muestra una barra de información encima del panel del editor que ofrece la posibilidad de instalar CMake desde https://github.com/Microsoft/CMake/releases.

Con Visual Studio 2019, puede crear un proyecto de CMake desde cero o abrir un proyecto de CMake existente. Para crear un proyecto de CMake, siga las instrucciones que se indican a continuación. O vaya directamente a Apertura de una carpeta de proyecto de CMake si ya tiene un proyecto de CMake.

Creación de un proyecto de CMake de Linux

Para crear un proyecto de CMake de Linux en Visual Studio 2019:

  1. Seleccione Archivo > Nuevo proyecto en Visual Studio o presione Ctrl + Mayús + N.
  2. Establezca Lenguaje en C++ y busque "CMake". Después, seleccione Siguiente. Especifique un Nombre y una Ubicación y elija Crear.

También puede abrir su propio proyecto de CMake en Visual Studio 2019. En la siguiente sección se explica cómo hacerlo.

Visual Studio crea un archivo CMakeLists.txt mínimo con solo el nombre del ejecutable y la versión mínima de CMake necesaria. Puede editar manualmente este archivo como quiera; Visual Studio nunca sobrescribirá los cambios.

Para ayudarlo a entender, editar y crear sus propios scripts de CMake en Visual Studio 2019, consulte los recursos siguientes:

Apertura de una carpeta de proyecto de CMake

Cuando se abre una carpeta que contiene un proyecto de CMake, Visual Studio usa las variables de la memoria caché de CMake para configurar automáticamente IntelliSense y las compilaciones. La configuración local y los valores de depuración se almacenan en archivos JSON. Opcionalmente, puede compartir estos archivos con otros usuarios que usen Visual Studio.

Visual Studio no modifica los archivos CMakeLists.txt. Esto permite que otros usuarios que trabajan en el mismo proyecto sigan usando las herramientas existentes. Visual Studio vuelve a generar la memoria caché al guardar modificaciones en el archivo CMakeLists.txt o, en algunos casos, en CMakeSettings.json. Si usa una configuración Caché existente, Visual Studio no modificará la caché.

Para obtener información general sobre la compatibilidad de CMake en Visual Studio, vea el artículo sobre los proyectos de CMake para Visual Studio. Léalo antes de continuar aquí.

Para empezar, elija Archivo>Abrir>Carpeta en el menú principal, o bien escriba devenv.exe <foldername> en una ventana del símbolo del sistema para desarrolladores. La carpeta que abra debe contener un archivo CMakeLists.txt, junto con el código fuente.

En el ejemplo siguiente se muestra un archivo CMakeLists.txt simple y un archivo .cpp:

// hello.cpp

#include <iostream>

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

CMakeLists.txt:

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

Pasos siguientes

Configuración de un proyecto de CMake en Linux

Vea también

Proyectos de CMake en Visual Studio