我的开发平台是windows 7 x64。我已经安装了 VS2012,我想编译一个包含一些 Dx11 代码的项目。
具体来说,它包括以下文件:
#include <d3dx11.h>
#include <d3dx10.h>
和链接到
#pragma comment (lib, "d3dx11.lib")
#pragma comment (lib, "d3dx10.lib")
我已经在我的开发机器上安装了 VS2011,但我想尝试 VS2012 中用于原生 C++ 的单元测试工具。
由于安装了 VS2011 并使用 DirectShow 代码,我安装了 Windows 7.1 SDK。
VS2012 选择了这个并引用了 7.1 SDK,但是在 VS2012 下编译我的项目并引用了 7.1 SDK 给出了错误:
"warning C4005: '__useHeader' : macro redefinition"
我用谷歌搜索了这个,并在 social.msdn.microsoft.com 上找到了一个类似我的查询。并且解决方案建议与 Windows 8 工具包而不是 7.1 SDK 链接以解决此问题。
Windows 8 工具包包含 d3d11.h 等标头,但不包含 d3dx11.h。
如何在 Windows 8 套件中包含 d3dx11(来自 Dx SDK),但不会出现多个“宏重新定义”错误?