我已经安装了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
目录中,它说它无法找到该文件。
我该如何解决这个问题?
答案 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
标题。
dxerr.lib
静态库与VS 2015 / VS 2017 C / C ++运行时不兼容。 Where’s DXERR.LIB?
最后一个问题:Windows 8.x或Windows 10不支持Direct3D 9调试设备。
请务必看到Where is the DirectX SDK,Not So DirectSetup和DXSETUP Update
您还应该审核Living without D3DX,DirectX SDK Tools Catalog,DirectX SDK Samples Catalog和The Zombie DirectX SDK