我的意思是,在我的每个源文件中,我必须插入#define NOGDI来阻止windows.h包含GDI定义(因为它是BITMAP定义与我的冲突)。
e.g。
#define NOGDI
#include <windows.h>
不幸的是,我必须在包含windows.h的每个单独的源文件中执行此操作,我不想这样做。 我正在使用Visual Studio 2005,有什么办法可以将它设置为全局#define吗? (即在所有源文件中)。
答案 0 :(得分:64)
项目设置 - &gt; C / C ++ - &gt;预处理器 - &gt;预处理器定义
在这里,您可以定义全局应用于项目中所有源代码的符号。
答案 1 :(得分:3)
如上所述,我已经为整个项目设置了所需的定义 项目设置 - &gt; C / C ++ - &gt;预处理器 - &gt;预处理器定义
但是这不起作用!
最终结果发现问题出现在NoInherit复选框中, “从父项目或项目默认值继承”
在定义'预处理器定义对话框行中,它被视为: WIN32; _DEBUG; _WINDOWS; _MBCS; $(NOINHERIT)
检查回来的东西,最终确认了定义。
答案 2 :(得分:0)
对于VS2015,我编辑了.vcxproj
文件并添加了一个如下所示的部分:
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>MY_VARIABLE=SOMETHING</PreprocessorDefinitions>