VS 2017无法找到DirectX包含文件。

3
我已经安装了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目录下。

我该如何解决这个问题?


您确定要使用已弃用的DirectX9吗?现代DirectX SDK是Windows SDK的一部分,还有DirectX Toolkit辅助库 - user7860670
您的解决方案中是否有1个项目?您是否为所有平台/配置组合设置了包含路径? - Artemy Vysotsky
@ArtemyVysotsky 不,我的解决方案中有多个项目,但这是唯一使用它的项目,是的,我已经为所有组合设置了它。 - 0x400921FB54442D18
检查构建选项是否与您的项目选项匹配,同时在本地文件中使用“”而不是<>。 - Ali Sepehri-Amin
你为什么觉得特别需要使用DirectX 9呢?在几乎所有情况下,DirectX 11都是更好的选择。 - Chuck Walbourn
显示剩余2条评论
1个回答

9
要在VS 2010或更高版本中使用传统的DirectX SDK,您需要手动添加对包含/库路径的引用。通常通过编辑项目的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

对于x64本机配置:
$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x64

这样做时也存在一些已知问题,可以在Microsoft Docs上找到解决方法。例如,您应该在包含d3dx9.h之前明确包含d3d9.h,否则您将得到旧的d3d9.h头文件。
顺便说一句,dxerr.lib静态库与VS 2015/ VS 2017 C/C++运行时不兼容。Where’s DXERR.LIB? 最后一个问题:Direct3D 9调试设备不支持Windows 8.x或Windows 10。

请务必查看DirectX SDK在哪里, 不那么直接的安装程序DXSETUP更新

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接