首先去微软下载DXSDK_Jun10开发包,图标是这个样子:
然后打开项目属性,选择“VC++目录”,选择“包含目录”,添加:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
如果你的DXSDK是默认目录安装,那就是这个目录。
然后选择“库目录”,添加:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86
如果要编译成64位的则填:
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64
到这里如果是WIN32窗口程序,就可以编译通过了,如果是要在MFC里使用DX函数那就会报错,报错的大概内容是说你×××宏重复定义,大概是那么个意思,而如果用更老的VS版本,比如鄙人之前用VS2010就没这破事,用2017就有,查了半天有博主说是因为WINDOWS SDK和DX SDK的一些宏的名称相同,一起用的时候导致堆叠重复,解决办法就是先导入WINDOWS SDK再导入DX SDK,需要这么改:
将 $(WindowsSDK_IncludePath) 放在 $(DXSDK_DIR)Include 前面即可。
也就是再次打开“包含目录”,先添加:$(DXSDK_DIR)Include , 再添加:$(WindowsSDK_IncludePath)
或者无所谓顺序,把这两个添加进去后按上面的 ↑ ↓ 箭头来调整顺序,顺序正确后MFC编译通过。
参考资料:关于vs2017如何配置和运行龙书DX9案例_Love柒的博客-CSDN博客
参考资料:warning:4005 DXGI_STATUS_OCCLUDED,宏重定义_学海无涯,快乐行舟-CSDN博客