我已经重新安装了 DirectX11 几次,甚至去了微软官网下载包含所有 DirectX cabinet 文件的 SDK 包。有人知道为什么我还是会收到这个错误吗?我知道它报错的原因,但更希望能找到解决方案。
1>c:\users\vaughn\documents\visual studio 2010\projects\myfirstapp\myfirstapp\main.cpp(5): 致命错误 C1083: 无法打开包括文件:'d3dx11.h':没有那个文件或目录
我已经重新安装了 DirectX11 几次,甚至去了微软官网下载包含所有 DirectX cabinet 文件的 SDK 包。有人知道为什么我还是会收到这个错误吗?我知道它报错的原因,但更希望能找到解决方案。
1>c:\users\vaughn\documents\visual studio 2010\projects\myfirstapp\myfirstapp\main.cpp(5): 致命错误 C1083: 无法打开包括文件:'d3dx11.h':没有那个文件或目录
以下是在VS 2010中需要进行的操作(在VS 2008及更早版本中会有所不同):
进入项目属性|配置属性|VC++目录。通过添加DirectX头文件路径来编辑名为“Include Directories”的行。对于2010年6月的SDK,路径可能如下:
32位Windows系统:C:\Program Files\Microsoft DirectX SDK (June 2010)\Include
64位Windows系统:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
接下来,您很可能会遇到链接器错误(缺少.lib文件)。只需再次进入项目属性|配置属性|VC++目录,但这次要编辑Library Directories,并添加以下路径之一:
32位Windows系统:C:\Program Files\Microsoft DirectX SDK (June 2010)\Lib\x86
64位Windows系统:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64
如果您安装了其他版本的SDK或将其安装到非默认目录,请相应地更改给定的路径。还请确保您已将d3d11.lib(以及可能的d3dx11.lib)添加到链接器|附加依赖项中。
通用规则是,每当您#include <>文件时,IDE都需要知道在哪里找到它们。在Visual Studio中,VC++目录是一种实现此目的的方法。但仅包含头文件(在大多数情况下)是不够的——您还需要告诉链接器在哪里查找由这些头文件所描述的预编译二进制文件。这就是通过将第二个路径添加到Library Directories中来实现的。
你必须确保获取最新的DirectX SDK。它包含头文件。如果你只得到了压缩文件,那么你下载的SDK是错误的。