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

时间:2017-10-15 13:01:50

标签: c++ directx visual-studio-2017 directx-9

我已经安装了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目录中,它说它无法找到该文件。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:8)

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

要在VS 2012或更高版本中使用旧版DirectX SDK,您需要使用 reverse 路径顺序 - 列出标准版之后的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

在执行此操作时,还有一些已知问题已在MSDN上解决。例如,您应该在添加d3d9.h之前明确包含d3dx9.h,否则您最终会使用较早的d3d9.h标题。

BTW,dxerr.lib静态库与VS 2015 / VS 2017 C / C ++运行时不兼容。 Where’s DXERR.LIB?

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

  

请务必看到Where is the DirectX SDKNot So DirectSetupDXSETUP Update

     

您还应该审核Living without D3DXDirectX SDK Tools CatalogDirectX SDK Samples CatalogThe Zombie DirectX SDK