当前位置:  开发笔记 > 编程语言 > 正文

无法打开源文件d3dx9.h

如何解决《无法打开源文件d3dx9.h》经验,为你挑选了1个好方法。

在我开始之前,我知道这是一个很常见的问题,我确实在这里发布之前搜索了答案。不幸的是,我没有运气。

在我的代码中,我包含如下文件:

#include 

现在出现错误:无法打开源文件d3dx9.h

在我的包含目录中,我确实输入了它所在的路径(如果我通过文件手动查找它,则可以在其中看到它)。

路径是: C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include

我还设置了库目录: C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64

x64,因为我正在运行64位系统。

如果有人能抽出宝贵时间提出建议,我将不胜感激。

问候。



1> Chuck Walbou..:

Visual Studio 2015包含Windows 8.1 SDK,该Windows 8.1 SDK 比旧版DirectX SDK中的标头要。Windows 8.1 SDK包含所有DirectX标头和库,但包含现在不建议使用的D3DX(D3DX9,D3DX10,D3DX11)实用程序库,这就是它“丢失”的原因。

D3DX9,D3DX10和D3DX11仅在旧版DirectX SDK中可用。对于VS 2010,对于Win32(x86)设置,应使用的VC ++目录设置如下:

$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x86;$(LibraryPath)

而对于x64本机:

$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x64;$(LibraryPath)

在VS 2012或更高版本中,由于Windows 8 SDK中的大多数标头取代了较旧的DirectX SDK ,因此您必须将它们反转

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x86

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x64;

请参阅MSDN,DirectX SDK(2015版)在哪里?,Zombie DirectX SDK和非直接安装程序。

综上所述,您可能不应该使用旧版Direct3D 9。将DirectX 11与D3DX的现代替代产品之一一起使用是一种更好,更简洁的选择,并且不需要旧版DirectX SDK。请参阅不使用D3DX生存。

如果您专门针对使用Direct3D 9在Windows XP SP3上运行程序,则将使用v140_xp平台工具集,该工具集使用Windows 7.1A SDK,而不是 Windows 8.1 SDK。因此,您要遵循老式的包含命令。有关详细信息,请参见此帖子。

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有