无法打开包含文件“d3dx9.h”

时间:2011-02-08 08:56:34

标签: visual-studio-2010 directx-9

编辑:当然,在工作了一个小时之后立即发布,我发现了这个愚蠢的错误......

我在项目中尝试#include <d3dx9.h>时遇到编译器错误。我收到“致命错误C1083:无法打开包含文件:'d3dx9.h':没有这样的文件或目录”。

  • 我安装了DirectX SDK(我也尝试重新安装它无济于事)。
  • 在项目属性中:
    • 对于所有配置,VC ++目录分别对于Include和Library目录设置为“$(DXSDK_DIR)Include;$(IncludePath)”和“$(DXSDK_DIR)Lib\x86;$(LibraryPath)”,环境变量%DXSDK_DIR%指向C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ as预期。
    • C / C ++&gt;常规设置在“其他包含目录”
    • 中列出了$(DXSDK_DIR)include
    • 链接器&gt;输入&gt;其他依赖项包括用于调试的d3dx9d.lib和用于发布配置的d3dx9.lib
  • 能够从DirectX示例浏览器成功编译和运行教程项目。
  • Visual Studio的Intellisense / autocomplete将找到d3dx9.h并建议文件中的类型和函数名称(并且不包括在我#include中的任何其他内容),因此似乎Intellisense可以找到它。

关于我忘记什么或尝试什么的任何建议?

由于

4 个答案:

答案 0 :(得分:13)

你忘记了一件事:

  1. 转到VC ++目录 - &gt;图书馆馆长
  2. 添加$(DXSDK_DIR)LIB\x86
  3. 适用。
  4. 完成。希望这有帮助

答案 1 :(得分:7)

您应该确保包含引号(“)的所有路径。 而不是$(DXSDK_DIR)include您应该"$(DXSDK_DIR)include"

答案 2 :(得分:5)

我没有意识到解决方案中的其他项目之一是#include一个文件#include #include d3dx9.h {{1}}我没有将这些路径添加到该项目中。

/捂脸

答案 3 :(得分:0)

我尝试了所有这些建议,但都没有效果。

如果在Visual Studio仍在运行时安装DirectX,则$(DXSDK_DIR)变量不起作用。对我来说,解决方案是重新启动Visual Studio(当然,+添加上面列出的解决方案中的路径)。