c++ visual-studio visual-studio-2005 c-preprocessor

c++ - ¿Cómo configuro Visual Studio para registrar#defines globalmente?



visual-studio visual-studio-2005 (3)

Configuración del proyecto -> C / C ++ -> Preprocesador -> Definiciones del preprocesador

Aquí puede definir símbolos que se aplican globalmente a todos los códigos fuente en su proyecto.

Lo que quiero decir es que, en cada uno de mis archivos fuente, tengo que insertar #define NOGDI para evitar que windows.h incluya las definiciones de GDI (ya que es BITMAP define conflictos con los míos).

p.ej

#define NOGDI #include <windows.h>

Desafortunadamente, tengo que hacer esto en cada archivo fuente separado que incluye windows.h, que no quiero hacer. Estoy usando Visual Studio 2005, ¿hay alguna manera en que pueda configurarlo para #definir algo globalmente? (es decir, en todos los archivos fuente).


Había configurado la definición necesaria para el proyecto completo, como se describe, en Configuración del proyecto -> C / C ++ -> Preprocesador -> Definiciones de preprocesador

¡Pero sin embargo esto no funcionó!

Eventualmente resultó que el problema estaba en la casilla NoInherit marcada, "Heredar de los valores predeterminados del proyecto o padre"

En la línea de definición de Preprocessor Definitions Dialog se ve como: WIN32; _DEBUG; _WINDOWS; _MBCS; $ (NoInherit)

Comprueba la cosa y la definición finalmente reconocida.


Para VS2015 .vcxproj archivo .vcxproj y agregué una sección como esta:

<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemDefinitionGroup> <ClCompile> <PreprocessorDefinitions>MY_VARIABLE=SOMETHING</PreprocessorDefinitions>