4

摘要:是否应该从面向 Windows 8 的应用程序中删除 directX 包含文件?

详情

我是在 Windows 中开发的新手,我正在尝试使用 Visual Studio 2012(如果可能)让 NVIDIA SDK 在 Windows 8 上编译。编译时我收到一条错误消息:Cannot open include file: 'd3dx9.h': No such file or directory.

我已阅读DirectX SDK 在哪里?文章,但我对它所说的内容感到困惑。

假设我不关心 Windows 7 并且只想在 Windows 8 上测试桌面应用程序(暂时忽略 Metro),我是否需要保留 NVIDIA SDK 应用程序中的包含等内容#include <d3dx9.h>#include <d3dx11.h>或者我应该删除这些包括?如果我保留它们,我需要安装什么才能找到文件。

4

2 回答 2

6

这些示例旨在使用 DirectX SDK 和 Windows SDK(Win8 之前)构建。

但是,Microsoft 不建议再使用 D3DX* 的东西(等等)。他们弃用了独立的 DirectX SDK,剥离了d3dx*.hbd3dx*.li文件并将剩余部分合并到 Windows 8 SDK。

因此,要构建示例,您必须使用:

  • 对于 DirectX 标头/库:旧的独立DirectX SDK(2010 年 6 月)
  • 对于其他 Windows 头文件/库:Windows 7 SDK -OR- Windows 8 SDK 在“XP 模式”(项目属性 -> 常规 -> 平台工具集 -> v110_xp )

为了防止混合头文件和库,最好在“VC++ 目录”中设置它们的确切路径。

对于您自己的新项目,最好不要使用 DirectX SDK,而是使用 Windows 8 SDK 中的 DirectX 标头。

于 2013-06-19T06:42:00.497 回答
2

确保您获得最新的 DirectX SDK。它有头文件。

尝试按照此步骤操作,希望这能解决您的问题

链接 Include 和 Library 目录

  1. 打开 Visual Studio 2012
  2. 选择 C++
  3. 选择一个空白项目
  4. 转到项目菜单 > 属性
  5. 在打开的窗口中,在左侧,单击配置属性 > VC++ 目录
  6. 单击右侧的包含目录。
  7. 单击向下箭头,然后单击编辑
  8. 将弹出一个窗口,单击右上角的黄色文件夹图标。
  9. 如果行,请单击右侧的“...”图标。将弹出一个“选择文件夹”窗口。
  10. 转到安装 DirectX SDK 的文件夹。如果什么都没有改变,它将在

    C:\Program Files (x86)\Microsoft DirectX SDK. 
    
  11. 进入包含目录并单击“选择文件夹”。单击确定。
  12. 现在选择“库目录”并执行相同的步骤 7 到步骤 10
  13. 进入 Lib\x86 文件夹并单击“选择文件夹”。
  14. 单击确定。现在所有目录都已链接。但是我们仍然需要链接头文件。添加一个新的源文件。

在文件顶部键入以下代码以包含 Direct3D 头文件:

      #include <d3d11.h>
      #include <d3dx11.h> 

14. 仅此而已。您需要这样做才能为 Visual C++ 2012 项目配置 DirectX。

你可以从这里看看

d3dx11.h 不见了?

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

谢谢 !!!

于 2013-06-18T22:34:29.823 回答