我的开发平台是Windows 7 x64。我已经安装了VS2012,想编译一个包含一些Dx11代码的项目。
具体来说,它包括以下文件:
#include <d3dx11.h>
#include <d3dx10.h>
并且链接到
#pragma comment (lib, "d3dx11.lib")
#pragma comment (lib, "d3dx10.lib")
我的开发机上已经安装了VS2011,但我想尝试一下VS2012为本地C++提供的单元测试工具。
由于我在DirectShow代码上使用VS2011,因此我安装了Windows 7.1 SDK。
VS2012检测到了这个SDK并有对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。
如何将Dx SDK中的d3dx11与Windows 8工具包一起使用,但又不会出现多个“宏重定义”错误?