所以我重新安装了directx11几次,甚至去了微软网站并获得了包含所有直接x cabinet文件的SDK包。任何人都知道为什么我一直得到这个错误呢?我知道它为什么这么说,但更多的是寻找解决方案。
1> c:\ users \ _vaughn \ documents \ visual studio 2010 \ projects \ myfirstapp \ myfirstapp \ main.cpp(5):致命错误C1083: 无法打开包含文件:'d3dx11.h':没有这样的文件或目录
答案 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>