VS 2017将找不到DirectX包含的文件

0x4*_*D18 3 c++ directx directx-9 visual-studio-2017

我已经安装了DirectX SDK,我想在Visual Studio 2017中的C++项目中使用.我配置了C++ include路径并添加了一个包含DirectX SDK包含文件($(DXSDK_DIR)Include\)的目录,这些文件正确地解析了C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\所有文件所在的位置

但是当#include <d3dx9core.h>当我检查自己时,我尝试将其正确安装在Include目录中,它说它无法找到该文件.

我该如何解决?

Chu*_*urn 8

要在VS 2010或更高版本中使用旧版DirectX SDK,必须手动添加对include/lib路径的引用.这通常通过编辑项目的VC++目录设置来完成,首先放置DirectX SDK文件夹.

要在VS 2012或更高版本中使用旧版DirectX SDK,您需要使用相反的路径顺序 - 在标准版本之后列出DirectX SDK文件夹 - 因为Windows 8.x/Windows 10 SDK包含比旧版DirectX SDK 更新的标头.当然,没有更新版本的D3DX9标头.

对于x86/Win32配置:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x86
Run Code Online (Sandbox Code Playgroud)

对于x64本机配置:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x64
Run Code Online (Sandbox Code Playgroud)

MSDN上解决此问题时,还有一些已知问题.例如,您应该在包含d3d9.h之前明确包含,d3dx9.h否则您将最终使用较旧的d3d9.h标头.

顺便说一下,dxerr.lib静态库与VS 2015/VS 2017 C/C++ Runtime不兼容.哪里是DXERR.LIB?

最后一个问题:Windows 8.x或Windows 10不支持Direct3D 9调试设备.

请务必查看DirectX SDK,Not So DirectSetDXSETUP更新的位置

您还应该查看没有D3DX,DirectX SDK工具目录,DirectX SDK样本目录Zombie DirectX SDK的Living