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>