d3dx11.h不见了?

时间:2011-10-27 00:58:37

标签: c++ directx-11

所以我重新安装了directx11几次,甚至去了微软网站并获得了包含所有直接x cabinet文件的SDK包。任何人都知道为什么我一直得到这个错误呢?我知道它为什么这么说,但更多的是寻找解决方案。

  

1> c:\ users \ _vaughn \ documents \ visual studio   2010 \ projects \ myfirstapp \ myfirstapp \ main.cpp(5):致命错误C1083:   无法打开包含文件:'d3dx11.h':没有这样的文件或目录

3 个答案:

答案 0 :(得分:29)

这就是你需要在VS 2010中做的事情(它在VS 2008和之前看起来有点不同):

转到项目的属性|配置属性| VC ++目录。通过添加DirectX头文件的路径来编辑名为Include Directories的行。至于2010年6月的SDK,它可能类似于:

32位Win:C:\ Program Files \ Microsoft DirectX SDK(2010年6月)\包含

64位Win:C:\ Program Files(x86)\ Microsoft DirectX SDK(2010年6月)\包含

接下来,您最有可能收到链接器错误(缺少.lib文件)。只需转到项目的属性|配置属性| VC ++目录再次,但这次编辑库目录并添加到以下路径之一:

32位Win:C:\ Program Files \ Microsoft DirectX SDK(2010年6月)\ Lib \ x86

64位Win:C:\ Program Files(x86)\ Microsoft DirectX SDK(2010年6月)\ Lib \ x64

如果安装了其他版本的SDK或将其安装到非默认目录,则相应地更改给定路径。另外请确保将d3d11.lib(也可能是d3dx11.lib)添加到Linker |附加依赖。

一般规则是,只要你#include<>您的IDE需要知道在哪里找到它们的文件。 VC ++目录是在Visual Studio中执行此操作的一种方法。但是单独包含头文件(在大多数情况下)是不够的 - 您需要告诉链接器在哪里查找这些头文件描述的预编译二进制文件。这是通过向库目录添加第二个路径来完成的。

答案 1 :(得分:0)

您必须确保获得最新的DirectX SDK。它有头文件。如果你得到的都是文件柜文件,那么你就得到了错误的SDK。

答案 2 :(得分:0)

就我而言,对于DX12,我缺少d3dx12.h

请参阅this MSDN页。

如果页面移动,相关的行似乎是

d3dx12.h可与Direct3D 12标题分开提供。您可以通过GitHub/Microsoft/DirectX-Graphics-Samples”导航到Direct3D 12项目的任何源文件来下载d3dx12.h / p>