x64 winsdk visual net microsoft framework c++ visual-studio-2010 visual-studio compilation

c++ - winsdk - sdk de windows



Cuál es la diferencia entre "Incluir directorios" y "Incluir directorios adicionales" (3)

En las propiedades de configuración de mi proyecto, debajo de los "directorios de VC ++" hay una entrada para "Incluir directorios". Pero en la opción "C / C ++", hay otra entrada llamada "Directorios de inclusión adicionales". Lo mismo sucede con los directorios de la biblioteca.

¿Cuál es la diferencia entre estas dos entradas?


CONFIGURACIÓN INCLUYE CAMINOS

Directorios de VC ++: Incluir directorios

  • este valor se hereda de la variable de entorno INCLUDE Windows que se define fuera de Visual Studio
    • las variables de entorno pueden ser: globales para la computadora o tener alcance de nivel de usuario
    • Las variables de entorno INCLUDE y LIB se crean cuando se instala el SDK de Microsoft Windows con Visual Studio .

C / C ++: directorios de inclusión adicionales

  • es una configuración de nivel de proyecto ... tendrá que definir este valor para cada proyecto en su solución
  • este valor puede persistir para controlar la fuente

NOTAS ADICIONALES

¿Cuál debería usar?

La decisión de utilizar Incluir directorios o Incluir directorios adicionales dependerá del proceso de desarrollo de su organización. En mi opinión, es más importante:

  • que puede recrear de forma consistente y confiable el entorno de desarrollo (piense: entregar el código fuente a otro desarrollador)
  • para desarrolladores dentro de una organización, use un enfoque consistente

Una nota sobre macros

  • Las macros de configuración de proyectos de C ++ (que no se deben confundir con la directiva #define preprocesador de C ++) heredan el contenido de diferentes fuentes. Macros como ...
    • $(Include) heredan sus valores de las variables de entorno de Windows
    • $(OutDir) heredan sus valores de Visual Studio IDE

REFERENCIAS


Esta es la incomodidad que se introdujo en VS2010. La configuración de directorios de VC ++ solía ubicarse en Herramientas + Opciones, Proyectos y Soluciones, Directorios de VC ++. Configuración global que se aplica a cada proyecto que se creó en la máquina. Todavía está allí, pero señala que ahora debe cambiarlo en la configuración de su proyecto. Un efecto secundario de la revisión del motor de construcción en VS2010, que permite construir con msbuild. Eliminar la configuración por proyecto hubiera sido lógico, pero eso rompería demasiados proyectos existentes.

Como tal, probablemente sea mejor tratar la configuración de directorios de VC ++ como el valor predeterminado de la máquina. Es preestablecido automáticamente por el instalador de VS. Juega con él solo si necesitas una orden inusual de búsqueda de directorio, poniendo las ubicaciones personalizadas al último. Muy inusual para hacerlo.

Sin embargo funciona. Y finalmente se aprovechó de eso. Empoderando la configuración Platform Toolset en VS2012 y posteriores. Diferente compilador, diferente enlazador, diferentes directorios #include, diferente ruta de búsqueda del enlazador. Modificado con solo un ajuste, agradable.


Los directorios de inclusión corresponden a la variable de entorno INCLUDE .

Las configuraciones del directorio que se muestran en la ventana son los directorios que buscará Visual Studio, incluidos los archivos a los que se hace referencia en los archivos de código fuente. Corresponde a la variable de entorno INCLUDE.

Mientras que los directorios de inclusión adicional se pasan a través de un argumento de línea de comando (es decir, la opción /I ).