13

我安装了DirectX SDK June 10,但是当我包含 时d3dx9.h,编译器找不到它。

我检查了 SDK 目录,也没有找到。

文件丢失:d3dx9.lib, d3dx9.h, dxfile.h.

4

4 回答 4

15

DirectX SDK 安装将添加一个系统环境变量,该变量DXSDK_DIR保存 SDK 安装位置的路径。我建议不要在包含和库目录中插入绝对路径,而是使用此变量来设置 DX 依赖项的包含和库路径。

作为包含目录添加:$(DXSDK_DIR)Include

作为库目录添加:$(DXSDK_DIR)Lib\x86$(DXSDK_DIR)Lib\x64在 64 位架构上

所以你的 VC++ 目录应该是这样的: DX 包含目录

解析到您安装 SDK的$(DXSDK_DIR)路径,通常是“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)”,即使您选择了其他路径也可以工作,这使得它在不同的人之间更可用。

于 2017-03-07T17:29:37.373 回答
7

库文件 (d3dx9.lib) 应位于 C:\path\to\Microsoft DirectX SDK (2010 年 6 月)\Lib\x86\ 以及 C:\path\to\Microsoft DirectX SDK (2010 年 6 月)\Lib 中\x64\

您提到的两个包含文件都存在于 C:\path\to\Microsoft DirectX SDK (June 2010)\Include\

如果您仍然无法找到它们,请从此处下载并安装 SDK:http: //www.microsoft.com/en-us/download/details.aspx?id=6812

我下载并使用了这个,我可以向你保证,这些文件是存在的!!

于 2013-06-12T22:19:27.333 回答
2

当我遇到这个问题时,我发现我在
[Program Files(x86) \ Microsoft DirectX SDK (June 2010) \ include] 文件夹中有 d3dx9.h。
编译器需要它位于
[Program Files(x86) \ Windows Kits \ 8.1 \ include \ shared] 中。
我将文件复制到另一个位置并且它工作,但我想知道这是否是最聪明的修复。

于 2015-02-19T22:16:26.527 回答
1

就我而言,以下代码适用于我:

//#include <d3dx9.h>
#include <d3d9.h>

//#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "d3d9.lib")
于 2018-01-10T02:20:08.193 回答