我有一个非常庞大的项目。
我的每个.h文件都需要包含一个特定文件errorHandler.h
。但我不想这样做:
#include "errorHanlder.h"
在每个人的顶部。
此外,将来我将很少实现errorHandler
,因此我希望能够(快速)errorHandler.h
更改为winErrorHandler.h
,winErrorHandler2.h
,{ {1}}或类似的东西。
是否有可能使用Visual C ++ 2012自动包含该文件?
我的意思是自动定义:
unixErrorHandler.h
当我写在那里,例如Project->Configuration Preporties->C/C++->Preprocessor->PreprocessorDefinitions
与将myDef
放在每个项目文件中的结果相同。
所以以同样的方式,我想以某种方式#define myDef
放在每个项目文件中。
答案 0 :(得分:2)
如果您正在使用预编译的头部功能,那么将常见的#include放入stdafx.h将完成与将其放入整个项目中的每个h文件相同的事情。 stdafx.h在任何其他标题之前处理。
答案 1 :(得分:2)
是否有可能使用Visual C ++ 2012自动包含该文件?
您可以使用/FI
强制包含未包含在项目源文件中的文件。我在将库移植到Windows RT和Windows Phone时使用它。例如:
/FI SDKDDKVer.h /FI winapifamily.h
实际上是:
#include <SDKDDKVer.h>
#include <winapifamily.h>
以下是我为OpenSSL提供的一个补丁,它强制某些Windows Phone和Windows RT包含。
该选项有一个属性页面。你可以在Project->Configuration Preporties->C/C++->Advanced->Force Include File
找到它(感谢PolGraphic和Retired Ninja)。
cl.exe
的选项列表位于Compiler Options Listed Alphabetically。 /I
将允许您指定标头路径,例如GCC的-I
。