我的win32应用程序已经有一个名为windows.h的文件作为其源的一部分,并且由于" inclage Directories"中指定的顺序,此Windows.h在原始Windows上获得了优先级.h(平台SDK(。但是,在某些地方,我需要包括原始Windows.h。我可以通过明确指定路径这样来做到这一点:
#include <FULL PATH OF windows.h>
但是,我不想这样做,因为那时源将依赖于Visual Studio(2012(安装的位置。
我查找了这样做的方法,一种方法是使用环境变量$(Windowssdk_includepath(,该$(Windowssdk_includepath(将扩展到正确的位置。喜欢:
首先,我定义了一个预处理器宏:
sdk_inc = $(windowssdk_includepath(
然后我包括Windows.h喜欢:
#include <SDK_INCwindows.h>
,但这也许是因为宏替换在标题文件更换后的预处理阶段进行。
关于我应该如何解决这个问题的任何建议?
尝试以下:
#include <windows.h> <- SDK
#include "windows.h" <- you own file