Creación de un proyecto de archivos Make de C++Create a C++ makefile project

Un archivos 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 en C++.A makefile is a text file that contains instructions for how to compile and link (or build ) a set of C++ source code files. Un programa Make lee el archivo Make e invoca un compilador, un vinculador y posiblemente otros programas para crear un archivo ejecutable.A make program reads the makefile and invokes a compiler, linker and possibly other programs to make an executable file. La implementación de Microsoft del programa Make se denomina NMake.Microsoft's implementation of the make program is called NMAKE.

Si tiene un proyecto de archivo Make existente, tiene estas opciones si desea codificarlo o depurarlo en el IDE de Visual Studio:If you have an existing makefile project, you have these choices if you want to code and/or debug it in the Visual Studio IDE:

  • 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.Create a makefile project in Visual Studio that uses your existing makefile to configure a .vcxproj file that Visual Studio will use for IntelliSense. (No tendrá todas las características del IDE que obtiene con un proyecto de MSBuild nativo). Vea para crear un proyecto de archivos make a continuación.(You will not have all the IDE features that you get with a native MSBuild project.) See To create a makefile project below.
  • 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.Use the Create New Project from Existing Code Files wizard to create a native MSBuild project from your source code. Después de esto no se usará el archivo Make original.The original makefile will not be used after this. Para más información, vea Cómo: Crear un proyecto de C++ a partir del código existente.For more information, see How to: Create a C++ Project from Existing Code.
  • Visual Studio 2017 y versiones posteriores : Use la característica Abrir carpeta para editar y compilar un proyecto de archivos make tal cual sin que intervenga el sistema MSBuild.Visual Studio 2017 and later : Use the Open Folder feature to edit and build a makefile project as-is without any involvement of the MSBuild system. Para más información, vea el artículo sobre los proyectos Abrir carpeta para C++.For more information, see Open Folder projects for C++.
  • Visual Studio 2019 y versiones posteriores : cree un proyecto de archivos make de UNIX para Linux.Visual Studio 2019 and later : Create a UNIX makefile project for Linux.

Para crear un proyecto de archivos Make con la plantilla de proyecto de archivos Make To create a makefile project with the makefile project template

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++.In Visual Studio 2017 and later, the Makefile project template is available when the C++ Desktop Development workload is installed.

Siga el asistente para especificar los comandos y el entorno que el archivo Make va a usar.Follow the wizard to specify the commands and environment used by your makefile. Después, podrá usar este proyecto para compilar el código en Visual Studio.You can then use this project to build your code in Visual Studio.

De forma predeterminada, el proyecto de archivo Make no mostrará ningún archivo en el Explorador de soluciones.By default, the makefile project displays no files in Solution Explorer. El proyecto de archivo Make especifica la configuración de compilación, que se refleja en la página de propiedades del proyecto.The makefile project specifies the build settings, which are reflected in the project's property page.

El archivo de salida que especifique en el proyecto no afectará al nombre que genera el script de compilación; sólo declara una intención.The output file that you specify in the project has no effect on the name that the build script generates; it declares only an intention. Aún así, el archivo Make controla el proceso de compilación y especifica los destinos de compilación.Your makefile still controls the build process and specifies the build targets.

Para crear un proyecto de archivos Make en Visual Studio 2019To create a makefile project in Visual Studio 2019

  1. En el menú principal de Visual Studio, elija archivo > nuevo > proyecto y escriba "archivo make" en el cuadro de búsqueda.From the Visual Studio main menu, choose File > New > Project and type "makefile" into the search box. 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 entre las dos opciones en función de si se va a destinar a Windows o Linux.Or, in the New Project dialog box, expand Visual C++ > General (Visual Studio 2015) or Other (Visual Studio 2017) and then select from the two options depending on whether you will be targeting Windows or Linux.

  2. Solo Windows : en la página Opciones de configuración de depuración , proporcione el comando, la salida, la limpieza y la recompilación para las compilaciones de depuración y comercial.Windows only : In the Debug Configuration Settings page, provide the command, output, clean, and rebuild information for debug and retail builds. Haga clic en Siguiente si quiere especificar otros valores para una configuración de versión.Click Next if you want to specify different settings for a Release configuration.

  3. Haga clic en Finalizar para cerrar el cuadro de diálogo y abrir el proyecto recién creado en el Explorador de soluciones .Click Finish to close the dialog and open the newly created project in Solution Explorer .

Para crear un proyecto de archivos Make en Visual Studio 2015 o Visual Studio 2017To create a makefile project in Visual Studio 2015 or Visual Studio 2017

  1. En la página de inicio de Visual Studio, escriba "archivo Make" en el cuadro de búsqueda Nuevo proyecto .From the Visual Studio start page, type "makefile" in the New Project search box. 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.Or, in the New Project dialog box, expand Visual C++ > General (Visual Studio 2015) or Other (Visual Studio 2017) and then select Makefile Project in the Templates pane to open the project wizard.

  2. 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.In the Application Settings page, provide the command, output, clean, and rebuild information for debug and retail builds.

  3. Haga clic en Finalizar para cerrar el asistente y abrir el Explorador de soluciones del proyecto recién creado.Click Finish to close the wizard and open the newly created project in Solution Explorer .

Puede ver y editar las propiedades del proyecto en la página de propiedades.You can view and edit the project's properties in its property page. Vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio para obtener información sobre cómo mostrar la página de propiedades.See Set C++ compiler and build properties in Visual Studio for information about displaying the property page.

Asistente para proyectos de archivos MakeMakefile project wizard

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.After you create a makefile project, you can view and edit each of the following options in the Nmake page of the project's property page.

  • Línea de comandos de compilación: Especifica la línea de comandos que se ejecutará cuando el usuario seleccione compilar en el menú compilar.Build command line: Specifies the command line to run when the user selects Build from the Build menu. Se muestra en el campo Línea de comandos de Compilar de la página Nmake de la página de propiedades del proyecto.Displayed in the Build command line field on the Nmake page of the project's property page.

  • Salida: Especifica el nombre del archivo que contendrá el resultado de la línea de comandos.Output: Specifies the name of the file that will contain the output for the command line. De forma predeterminada, esta opción se basa en el nombre del proyecto.By default, this option is based on the project name. Se muestra en el campo Salida de la página Nmake de la página de propiedades del proyecto.Displayed in the Output field on the Nmake page of the project's property page.

  • Comandos limpios: Especifica la línea de comandos que se ejecutará cuando el usuario seleccione limpiar en el menú compilar.Clean commands: Specifies the command line to run when the user selects Clean from the Build menu. Se muestra en el campo Línea de comandos de Limpiar de la página Nmake de la página de propiedades del proyecto.Displayed in the Clean command line field on the Nmake page of the project's property page.

  • Línea de comandos de recompilación: Especifica la línea de comandos que se ejecutará cuando el usuario seleccione recompilar en el menú compilar.Rebuild command line: Specifies the command line to run when the user selects Rebuild from the Build menu. 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.Displayed in the Rebuild all command line field on the Nmake page of the project's property page.

Cómo: Habilitar IntelliSense para proyectos de archivos MAKEHow to: Enable IntelliSense for Makefile Projects

IntelliSense no funciona en los proyectos de archivos Make cuando no se configuran de manera correcta determinados valores del proyecto u opciones del compilador.IntelliSense fails in makefile projects when certain project settings or compiler options are set up incorrectly. Siga estos pasos para configurar proyectos de archivos Make para que IntelliSense funcione según lo esperado:Follow these steps to configure makefile projects so that IntelliSense works as expected:

  1. Abra el cuadro de diálogo Páginas de propiedades .Open the Property Pages dialog box. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.For details, see Set C++ compiler and build properties in Visual Studio.

  2. Expanda el nodo Propiedades de configuración .Expand the Configuration Properties node.

  3. Seleccione la página de propiedades NMake y, después, modifique las propiedades en IntelliSense según corresponda.Select the NMake property page, and then modify properties under IntelliSense as appropriate.

    • Establezca la propiedad Definiciones de preprocesador para definir los símbolos de preprocesador en el proyecto de archivo Make.Set the Preprocessor Definitions property to define any preprocessor symbols in your makefile project. Vea /D (Definiciones de preprocesador) para obtener más información.See /D (Preprocessor Definitions), for more information.

    • 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.Set the Include Search Path property to specify the list of directories that the compiler will search to resolve file references that are passed to preprocessor directives in your makefile project. Vea /I (Directorios de inclusión adicionales) para obtener más información.See /I (Additional Include Directories), for more information.

    • 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.For projects that are built using CL.EXE from a Command Window, set the INCLUDE environment variable to specify directories that the compiler will search to resolve file references that are passed to preprocessor directives in your makefile project.

    • 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.Set the Forced Includes property to specify which header files to process when building your makefile project. Vea /FI (Dar nombre al archivo de inclusión obligatorio) para obtener más información.See /FI (Name Forced Include File), for more information.

    • 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.Set the Assembly Search Path property to specify the list of directories that the compiler will search to resolve references to .NET assemblies in your project. Vea /AI (Especificar directorios de metadatos) para obtener más información.See /AI (Specify Metadata Directories), for more information.

    • Establezca la propiedad Ensamblados de uso forzados para especificar qué ensamblados .NET se van a procesar al compilar el proyecto de archivo Make.Set the Forced Using Assemblies property to specify which .NET assemblies to process when building your makefile project. Vea /FU (Dar nombre al archivo #using obligatorio) para obtener más información.See /FU (Name Forced #using File), for more information.

    • Establezca la propiedad Opciones adicionales para especificar modificadores de compilador adicionales que IntelliSense usará al analizar los archivos de C++.Set the Additional Options property to specify additional compiler switches to be used by IntelliSense when parsing C++ files.

  4. Haga clic en Aceptar para cerrar las páginas de propiedades.Click OK to close the property pages.

  5. Use el comando Guardar todo para guardar la configuración de proyecto modificada.Use the Save All command to save the modified project settings.

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 .The next time you open your makefile project in the Visual Studio development environment, run the Clean Solution command and then the Build Solution command on your makefile project. IntelliSense debería funcionar correctamente en el IDE.IntelliSense should work properly in the IDE.

Consulta tambiénSee also

Usar IntelliSenseUsing IntelliSense
Referencia de NMAKENMAKE Reference
Procedimiento Crear un proyecto de C++ a partir del código existenteHow to: Create a C++ Project from Existing Code
Caracteres especiales en un archivo makeSpecial Characters in a Makefile
Contenido de un archivo makeContents of a Makefile