Creación de un proyecto de archivos Make de C++
Un archivo Make es un archivo de texto que contiene instrucciones sobre cómo compilar y vincular (o crear) un conjunto de archivos de código fuente. Un programa (a menudo denominado programa Make) lee el archivo Make e invoca un compilador, un vinculador y posiblemente otros programas para crear un archivo ejecutable. El programa de Microsoft se denomina NMAKE.
Si tiene un proyecto de archivo Make existente, dispone de estas opciones si desea editarlo, compilarlo o depurarlo en el IDE de Visual Studio:
- Cree un proyecto de archivos Make en Visual Studio en el que se use el archivo Make existente para configurar un archivo .vcxproj que Visual Studio usará para IntelliSense. (No dispondrá de todas las características del IDE que tendría con un proyecto de MSBuild nativo). Vea Para crear un proyecto de archivos Make a continuación.
- Use el asistente para Crear nuevo proyecto de archivos de código fuente existentes para crear un proyecto de MSBuild nativo a partir del código fuente. El archivo Make original ya no se usará. Para más información, vea Cómo: Crear un proyecto de C++ a partir del código existente.
- Visual Studio 2017 y versiones posteriores: use la característica Abrir carpeta para editar y compilar un proyecto de archivos Make como está, sin participación alguna del sistema MSBuild. Para más información, vea el artículo sobre los proyectos Abrir carpeta para C++.
- Visual Studio 2019 y versiones posteriores: cree un proyecto de archivos Make de UNIX para Linux.
Para crear un proyecto makefile con la plantilla de proyecto makefile
En Visual Studio 2017 y versiones posteriores, la plantilla de proyecto de archivos Make está disponible cuando se instala la carga de trabajo de Desarrollo de escritorio de C++.
Siga el asistente para especificar los comandos y el entorno que el archivo Make va a usar. Después, podrá usar este proyecto para compilar el código en Visual Studio.
De forma predeterminada, el proyecto de archivo Make no mostrará ningún archivo en el Explorador de soluciones. El proyecto de archivo Make especifica la configuración de compilación, que se refleja en la página de propiedades del proyecto.
El archivo de salida que especifique en el proyecto no afectará al nombre que genera el script de compilación; solo declara una intención. Aún así, el archivo Make controla el proceso de compilación y especifica los destinos de compilación.
Para crear un proyecto de archivos Make en Visual Studio
En el menú principal de Visual Studio, seleccione Archivo>Nuevo>Proyecto y escriba "archivo Make" en el cuadro de búsqueda. Si ve más de una plantilla de proyecto, seleccione una de las opciones en función de la plataforma de destino.
Solo Windows: en la página Configuración de depuración, escriba la información sobre comandos, salida, limpieza y recompilación para las compilaciones de depuración y comercial. Seleccione Siguiente si quiere especificar otros valores para una configuración de versión.
Seleccione Finalizar para cerrar el cuadro de diálogo y abrir el proyecto recién creado en el Explorador de soluciones.
Para crear un proyecto de archivos Make en Visual Studio 2015 o Visual Studio 2017
En la página de inicio de Visual Studio, escriba "archivo Make" en el cuadro de búsqueda Nuevo proyecto. O bien, en el cuadro de diálogo Nuevo proyecto, expanda Visual C++>General (Visual Studio 2015) u Otros (Visual Studio 2017) y después seleccione Proyecto de archivos Make en el panel Plantillas para abrir el asistente para proyectos.
En la página Configuración de la aplicación, escriba la información sobre comandos, salida y limpieza, y la información de recompilación para las compilaciones de depuración y comercial.
Seleccione Finalizar para cerrar el asistente y abrir el Explorador de soluciones del proyecto recién creado.
Puede ver y editar las propiedades del proyecto en la página de propiedades. Para obtener más información sobre cómo abrir la página de propiedades, vea Establecimiento del compilador de C++ y propiedades de compilación en Visual Studio.
Asistente para proyectos de archivos Make
Después de crear un proyecto de archivos Make, puede ver y modificar cada una de las opciones siguientes en la página Nmake de la página de propiedades del proyecto.
Línea de comandos de Compilar: especifica la línea de comandos que se va a ejecutar cuando el usuario seleccione Compilar en el menú Compilar. Se muestra en el campo Línea de comandos de Compilar de la página Nmake de la página de propiedades del proyecto.
Salida: especifica el nombre del archivo que contendrá la salida para la línea de comandos. De forma predeterminada, esta opción se basa en el nombre del proyecto. Se muestra en el campo Salida de la página Nmake de la página de propiedades del proyecto.
Línea de comandos de Limpiar: especifica la línea de comandos que se va a ejecutar cuando el usuario seleccione Limpiar en el menú Compilar. Se muestra en el campo Línea de comandos de Limpiar de la página Nmake de la página de propiedades del proyecto.
Línea de comandos de recompilación: especifica la línea de comandos que se va a ejecutar cuando el usuario seleccione Recompilar en el menú Compilar. Se muestra en el campo Línea de comandos de regeneración de la página Nmake de la página de propiedades del proyecto.
Cómo: Habilitar IntelliSense para proyectos de archivos MAKE
IntelliSense no funciona en los proyectos de archivos Make cuando no se configuran de manera correcta determinados valores del proyecto u opciones del compilador. Siga estos pasos para configurar proyectos de archivos Make para que IntelliSense funcione según lo esperado:
Abra el cuadro de diálogo Páginas de propiedades. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.
Seleccione la página de propiedades Propiedades de configuración>NMake.
Modifique las propiedades en IntelliSense según corresponda:
Establezca la propiedad Definiciones de preprocesador para definir los símbolos de preprocesador en el proyecto de archivo Make. Para obtener más información, vea
/D
(Definiciones de preprocesador).Establezca la propiedad Ruta de acceso de búsqueda de inclusión para especificar la lista de directorios en los que el compilador debe buscar para resolver las referencias de archivo que se pasan a las directivas de preprocesador en el proyecto de archivo Make. Para obtener más información, vea
/I
(Directorios de inclusión adicionales).Para los proyectos que se compilan mediante CL.EXE desde una ventana de comandos, establezca la variable de entorno INCLUDE para especificar los directorios en los que el compilador debe buscar para resolver las referencias de archivo que se pasan a las directivas de preprocesador en el proyecto de archivo Make.
Establezca la propiedad Archivos de inclusión forzados para especificar qué archivos de encabezado se van a procesar al compilar el proyecto de archivo Make. Para obtener más información, vea
/FI
(Dar nombre al archivo de inclusión obligatorio).Establezca la propiedad Ruta de acceso de búsqueda de ensamblado para especificar la lista de directorios que el compilador debe buscar para resolver las referencias a los ensamblados .NET del proyecto. Para obtener más información, vea
/AI
(Especificar directorios de metadatos).Establezca la propiedad Ensamblados de uso forzados para especificar qué ensamblados .NET se van a procesar al compilar el proyecto de archivo Make. Para obtener más información, vea
/FU
(Asignar nombre al archivo #using obligatorio).Establezca la propiedad Opciones adicionales para especificar otros modificadores de compilador que IntelliSense usará al analizar los archivos de C++.
Haga clic en Aceptar para cerrar las páginas de propiedades.
Use el comando Guardar todo para guardar la configuración de proyecto modificada.
La próxima vez que abra el proyecto de archivo Make en el entorno de desarrollo de Visual Studio, ejecute los comandos Limpiar solución y Compilar solución. IntelliSense debería funcionar correctamente en el IDE.
Consulte también
Usar IntelliSense
Referencia de NMAKE
Procedimiento para crear un proyecto de C++ a partir del código existente
Caracteres especiales en un archivo make
Contenido y características de Makefile