首先去微软下载
DXSDK_Jun10
开发包,图标是这个样子:
这里需要说明,直接安装这个开发包快安装完的时候会报错,错误代码:S1023。报错原因是这个开发包自带VC++2010的库,这个库大概率比你当前系统上安装了的vc++2010库版本老,老版本是无法覆盖安装更新的版本。此时需要打开控制面板,打开“
程序和功能
”,删除当前的VC++2010库,如下图:
然后打开项目属性,选择“
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博客
参考资料:
安装DirectX SDK时出现Error Code:s1023 的解决方案_草上爬的博客-CSDN博客_directx s1023