Página de propiedades General (Proyecto)
Este artículo se aplica a proyectos de Visual Studio para Windows. En el caso de los proyectos de Linux, consulte Referencia de las páginas de propiedades de un proyecto de Linux. En el caso de los proyectos de CMake, consulte Proyectos de CMake en Visual Studio. En el caso de los proyectos de Android, consulte Propiedades generales del proyecto (Android C++). En el caso de los proyectos de Android Makefile, consulte Propiedades generales del proyecto (Android C++ Makefile). En Visual Studio 2019, algunas propiedades de proyectos que no son de UWP (Windows Runtime o Plataforma universal de Windows) se han movido a la página de propiedades Avanzadas.
Para abrir el cuadro de diálogo Páginas de propiedades de un proyecto, seleccione el proyecto (no la solución) en el Explorador de soluciones. Luego, seleccione el menú Proyecto>Propiedades de nombre de proyecto en la barra de menús. O bien, haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y seleccione Propiedades en el menú contextual.
En el cuadro de diálogo Páginas de propiedades, la página de propiedades Propiedades de configuración>General muestra las propiedades del proyecto en función del tipo de proyecto. Estas propiedades se recopilan en uno o dos encabezados, según el tipo de proyecto:
General
Valores predeterminados del proyecto
General
El encabezado de propiedades General incluye una combinación de estas propiedades:
Plataforma de destino
Especifica la plataforma en la que se ejecuta el proyecto. Por ejemplo, Windows, Android o iOS. El valor Windows 10 significa que el proyecto tiene como destino la Plataforma universal de Windows. Si el destino es otras versiones de Windows, no se muestra la versión y el valor de este campo aparece simplemente como Windows. Esta propiedad es un campo de solo lectura que se establece al crear un proyecto.
Versión de la plataforma de destino
Especifica la versión de Windows SDK que se usa para compilar el proyecto. Esta propiedad solo aparece si el tipo de proyecto lo admite. Puede seleccionar 10.0 para especificar la versión más reciente de Windows SDK. Si la aplicación puede aprovechar las características de esta versión de Windows SDK, pero se puede ejecutar en versiones anteriores sin esas características, aunque quizás con cierta pérdida de funcionalidad, es posible que el valor de la propiedad Versión mínima de la propiedad de destino sea diferente. De ser así, el código debe comprobar en tiempo de ejecución la versión de la plataforma en que se ejecuta y deshabilitar las características que no están disponibles en versiones anteriores de la plataforma.
Plataforma de destino min. Versión
Especifica la versión más antigua de la plataforma en la que se puede ejecutar el proyecto. Esta propiedad solo aparece si el tipo de proyecto lo admite. Establezca este valor si una aplicación puede aprovechar las características de una versión más reciente de Windows SDK, pero se ejecuta en versiones anteriores, quizás con alguna pérdida de funcionalidad. Si se establece en un valor inferior, el código debe comprobar la versión de la plataforma en la que se ejecuta en tiempo de ejecución. Luego, deshabilite las características que no estén disponibles en las versiones anteriores de la plataforma.
El sistema de proyectos de C++ no aplica esta opción. Se incluye para proporcionar consistencia con otros lenguajes, como C# y JavaScript, y como una guía para cualquier persona que use su proyecto. Microsoft C++ no generará un error si usa una característica que no esté disponible en la versión mínima.
Versión de Windows SDK
En el caso de la plataforma de destino Windows, esta propiedad especifica la versión de Windows SDK que requiere el proyecto. Cuando el Instalador de Visual Studio instala una carga de trabajo de C++, también instala las partes necesarias de Windows SDK. Si tiene otras versiones de Windows SDK en el equipo, en la lista desplegable aparecerán todas las versiones instaladas.
Para establecer Windows 7 o Windows Vista como destino, use el valor 8.1, ya que Windows SDK 8.1 es compatible con estas plataformas. Cuando el destino es una versión anterior, defina el valor adecuado para _WIN32_WINNT
en targetver.h
. Para Windows 7, es 0x0601. Para obtener más información, vea Modificar WINVER
y _WIN32_WINNT
.
Puede instalar el conjunto de herramientas de la plataforma Windows XP incluido como componente opcional en Instalador de Visual Studio para compilar proyectos de Windows XP y Windows 2003 Server. Para más información sobre cómo conseguir este conjunto de herramientas de la plataforma y cómo usarlo, vea Configuración de programas para Windows XP. Para más información sobre cómo cambiar el conjunto de herramientas de la plataforma, consulte Procedimiento para modificar la plataforma de destino y el conjunto de herramientas de la plataforma.
Directorio de salida
Especifica el directorio en el que las herramientas de compilación, como el enlazador, colocan todos los archivos de salida finales que se creen durante el proceso de compilación. Normalmente, este directorio contiene los resultados de herramientas como el enlazador, el bibliotecario o BSCMake. De forma predeterminada, esta propiedad es el directorio especificado por la combinación de la macro $(SolutionDir)$(Configuration)\
.
Para obtener acceso a esta propiedad mediante programación, vea OutputDirectory.
Directorio intermedio
Especifica el directorio en el que herramientas como el compilador colocan todos los archivos intermedios que se crean durante el proceso de compilación. Normalmente, este directorio contiene los resultados de herramientas como el compilador de C/C++, MIDL y el compilador de recursos. De forma predeterminada, esta propiedad es el directorio especificado por la macro $(Configuration)\
.
Para obtener acceso a esta propiedad mediante programación, vea IntermediateDirectory.
Nombre de destino
Especifica el nombre de archivo que este proyecto genera. De forma predeterminada, esta propiedad es el nombre de archivo especificado por la macro $(ProjectName)
.
Extensión de destino
Especifica la extensión de archivo que este proyecto genera, como .exe
o .dll
. En algunos tipos de proyecto de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Extensiones para eliminar al limpiar
La opción del menú Compilar>Limpiar elimina los archivos del directorio intermedio en el que se compila la configuración de un proyecto. El sistema de compilación elimina los archivos que tienen las extensiones especificadas al ejecutar el comando Clean o al recompilar. El sistema de compilación también elimina cualquier salida conocida de la compilación sin importar dónde se encuentre. Los archivos eliminados incluyen las salidas intermedias, como los archivos .obj
. Use punto y coma (;
) para separar las extensiones. Puede especificar los caracteres comodín (*
, ?
) en las extensiones.
Para obtener acceso a esta propiedad mediante programación, vea DeleteExtensionsOnClean. En algunos tipos de proyecto de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Archivo de registro de compilación
Permite especificar una ubicación no predeterminada para el archivo de registro que se crea cada vez que se compila un proyecto. La ubicación predeterminada se especifica mediante la combinación de macros $(IntDir)$(MSBuildProjectName).log
. En algunos tipos de proyecto de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Puede utilizar macros de proyecto para cambiar la ubicación del directorio. Para más información, vea Macros comunes para comandos y propiedades de compilación.
Conjunto de herramientas de la plataforma
Especifica el conjunto de herramientas usado para compilar la configuración actual. Esta propiedad permite al proyecto elegir como destino una versión diferente de las bibliotecas y el compilador de Visual C++. De forma predeterminada, el destino de los proyectos de Visual Studio C++ es el conjunto de herramientas más reciente instalado por Visual Studio. En su lugar, puede elegir cualquiera de los conjuntos de herramientas instalados por varias versiones anteriores de Visual Studio. Algunos conjuntos de herramientas anteriores pueden crear archivos ejecutables que se ejecutan en Windows XP o Vista. Para más información sobre cómo cambiar el conjunto de herramientas de la plataforma, vea Procedimiento para modificar la plataforma de destino y el conjunto de herramientas de la plataforma.
Habilitar compilación incremental administrada
En los proyectos administrados, esta propiedad permite la detección de visibilidad externa al generar los ensamblados. Si un cambio en un proyecto administrado no pueden verlo otros proyectos, los proyectos dependientes no se recompilan. Esta opción reducir considerablemente los tiempos de compilación de las soluciones que incluyen proyectos administrados. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Tipo de configuración
Especifica la salida del proyecto y sus herramientas necesarias. En los proyectos de UWP, esta propiedad aparece en el encabezado Valores predeterminados del proyecto. En función del tipo de proyecto se puede elegir entre varios tipos de configuración:
Aplicación (.exe)
Muestra el conjunto de herramientas del enlazador: el compilador de C/C++, MIDL, el compilador de recursos, el enlazador, BSCMake y el generador del proxy de servicios web XML, así como eventos personalizados de compilación, precompilación, previnculación y postcompilación.
Biblioteca dinámica (.dll)
Muestra el conjunto de herramientas del enlazador, especifica la opción del enlazador /DLL
y agrega la definición del preprocesador _WINDLL
a la línea de comandos de CL.
Archivo Make
Muestra el conjunto de herramientas para los archivos Make (NMake).
Biblioteca estática (.lib)
Muestra el conjunto de herramientas del bibliotecario. Es igual que el conjunto de herramientas del enlazador, excepto que reemplaza al enlazador por el bibliotecario y omite el Generador del proxy de servicio web XML.
Utilidad
Muestra el conjunto de herramientas de utilidades (MIDL; eventos personalizados de compilación, previos a la compilación y posteriores a la compilación).
Para obtener acceso a esta propiedad mediante programación, vea ConfigurationType.
Estándar de lenguaje C++
Especifica el estándar del lenguaje C++ que se va a usar. El valor predeterminado es /std:c++14
. Especifique /std:c++17
para usar las características de C++17, /std:c++20
para usar las características de C++20 y /std:c++latest
para usar características de C++23 propuestas u otras características experimentales. Para obtener más información, consulte /std
(Especificar la versión estándar del lenguaje).
Estándar de lenguaje C
Especifica el estándar del lenguaje C que se va a usar. El valor predeterminado es Legacy MSVC, que implementa C89 y algunas de las extensiones específicas de C99 y Microsoft. Especifique /std:c11
para usar las características de C11 y /std:c17
para usar las características de C17. Para más información, consulte /std
(Especificar la versión estándar del lenguaje).
Valores predeterminados del proyecto
Tipo de configuración
Especifica la salida del proyecto y sus herramientas necesarias. En los proyectos de UWP, esta propiedad aparece en el encabezado Valores predeterminados del proyecto. En función del tipo de proyecto se puede elegir entre varios tipos de configuración:
Aplicación (.exe)
Muestra el conjunto de herramientas del enlazador: el compilador de C/C++, MIDL, el compilador de recursos, el enlazador, BSCMake y el generador del proxy de servicios web XML, así como eventos personalizados de compilación, precompilación, previnculación y postcompilación.
Biblioteca dinámica (.dll)
Muestra el conjunto de herramientas del enlazador, especifica la opción del enlazador /DLL
y agrega la definición del preprocesador _WINDLL
a la línea de comandos de CL.
Archivo Make
Muestra el conjunto de herramientas para los archivos Make (NMake).
Biblioteca estática (.lib)
Muestra el conjunto de herramientas del bibliotecario. Es igual que el conjunto de herramientas del enlazador, excepto que reemplaza al enlazador por el bibliotecario y omite el Generador del proxy de servicio web XML.
Utilidad
Muestra el conjunto de herramientas de utilidades (MIDL; eventos personalizados de compilación, previos a la compilación y posteriores a la compilación).
Para obtener acceso a esta propiedad mediante programación, vea ConfigurationType.
Uso de MFC
Especifica si el proyecto MFC se vincula de forma estática o dinámica al archivo DLL de MFC. Los proyectos que no son MFC seleccione Usar bibliotecas estándar de Windows. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Para obtener acceso a esta propiedad mediante programación, vea useOfMfc.
Juego de caracteres
Especifica si debería establecerse la macro de preprocesador _UNICODE
o _MBCS
. También afecta al punto de entrada del enlazador cuando sea necesario. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Para obtener acceso a esta propiedad mediante programación, vea CharacterSet.
Compatible con Common Language Runtime
Hace que se use la /clr
opción del compilador. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Para obtener acceso a esta propiedad mediante programación, vea ManagedExtensions.
Versión de .NET Framework de destino
En los proyectos administrados, especifica la versión de .NET Framework de destino. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Optimización de todo el programa
Hace que se use la opción del compilador /GL
y la opción del enlazador /LTCG
. De manera predeterminada, esto se deshabilita para las configuraciones de depuración y se habilita para las versiones. En los proyectos de Visual Studio 2019, esta propiedad se ha movido a la página de propiedades avanzadas.
Compatibilidad con aplicaciones de Microsoft Store
Especifica si este proyecto admite aplicaciones de Windows Runtime (Plataforma universal de Windows o UWP). Para más información, consulte /ZW
(Compilación de Windows Runtime) y la documentación de UWP de para desarrolladores de Windows.
Compatible con el escritorio de Windows
Permite que la salida de este proyecto de Windows Runtime admita también aplicaciones de escritorio. Esta propiedad establece el valor <DesktopCompatible>
en el archivo del proyecto. La propiedad Compatible para escritorio de Windows está disponible a partir de la versión 16.9 de Visual Studio 2019.
Consulte también
Referencia de las páginas de propiedades de un proyecto de C++