VS 2017 找不到 DirectX 包含文件

VS 2017 won't find DirectX include files

本文关键字:包含 文件 DirectX 找不到 2017 VS      更新时间:2023-10-16

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

但当我尝试#include <d3dx9core.h>时,它说找不到文件,正如我自己检查的那样,它正确安装在Include目录中。

我该如何解决这个问题?

要将旧版DirectX SDK与VS 2010或更高版本一起使用,必须手动添加对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)Utilitiesbinx86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Libx86

对于x64本机配置:

$(ExecutablePath);$(DXSDK_DIR)Utilitiesbinx64;$(DXSDK_DIR)Utilitiesbinx86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Libx64

在执行此操作时,还有一些已知的问题在Microsoft文档中得到了解决。例如,在包含d3dx9.h之前,您应该先显式包含d3d9.h,否则您将使用旧的d3d9.h标头。

顺便说一句,dxerr.lib静态库与VS 2015/VS 2017 C/C++运行时不兼容。DXERR.LIB在哪里?

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

请务必查看DirectX SDK、Not So DirectSetup和DXSETUP Update 在哪里

您还应该查看没有D3DX的生活、DirectX SDK工具目录、DirectX SDK示例目录和僵尸DirectX SDK

相关文章: