2011-02-24 9 views
29

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).¿Cómo configuro Visual Studio para registrar #defines globalmente?

p. Ej.

#define NOGDI 
#include <windows.h> 

Por desgracia, tengo que hacer esto en cada archivo fuente separada, 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).

+0

Además de la respuesta de tenfour, puede crear algo así como config.hy (que contiene su #define favorito), a continuación, incluir este archivo en tu código fuente :) – onmyway133

Respuesta

54

Configuración del proyecto -> C/C++ -> -> preprocesador definiciones de preprocesador

Aquí puede definir símbolos que se aplican globalmente a todo el código fuente en su proyecto.

+1

Ah, soy un idiota. Muchas gracias. – user631623

+1

@ user631623: si esto fue útil y respondió su pregunta, debe aceptarla como la respuesta correcta haciendo clic en la marca de verificación verde al lado. –

+0

@adam: Sí, respondió muy rápido y no me permitió seleccionar una respuesta correcta tan rápido, así que me olvidé por completo, lo siento. – user631623

3

asenté los definir para todo el proyecto, tal como se describe, en la configuración del proyecto necesarios -> C/C++ -> preprocesador -> las definiciones del preprocesador

Pero, sin embargo esto no funcionaba!

Finalmente resultó que ese problema estaba en casilla de verificación marcada NoInherit, "Heredar del padre o del proyecto por defecto"

En línea de definiciones del preprocesador de diálogo define es visto como: WIN32; _DEBUG; _WINDOWS; _MBCS; $ (NoInherit)

Comprobó la cosa y finalmente se reconoció la definición.

+3

Encontré por alguna razón ubchecking, aplicar y luego volver a verificar esta opción, resolví mi problema. No tengo ni idea de porqué. – 8bitwide

+1

a veces tratando de reconstruir el proyecto ayuda. si todavía no funciona, reiniciar VS ayuda. –

0

Para VS2015 he editado el archivo .vcxproj y ha añadido una sección como esta:

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