2014-12-06 200 views
0

我目前正在进入一些DirectX编程并刚刚安装了DX-SDK。但是,当我在Visual Studio中打开最基本的示例文件(Tutorial01,仅显示蓝色背景)(2012,但似乎无关紧要)并编译它时,我得到一个工作输出。C++编译链接

当我启动一个空的C++项目时,创建一个名为main.cpp的新文件,并复制并粘贴本教程中的代码,执行与resource.h文件相同的操作,也转至Project settings-> Configuration Properties- >链接,并从样本“输入”复制到我自己的项目,然后编译项目中,我碰到下面的错误输出:

fatal error C1083: Cannot open include file: 'd3dx11.h': No such file or directory 

页眉通过#include两个,样品和我的项目包括在内。但是我的项目不会编译。

+0

看看这里:http://rastertek.com/dx11tut01.html也许它可以帮助你 – Jack 2014-12-06 12:24:17

+0

谢谢,最初的问题解决了,但现在我得到另一个错误: – ProgrammingMachine5000 2014-12-06 12:36:19

+0

谢谢,最初的问题解决了,但现在我得到另一个错误: '错误LNK1120:在main.cpp中1个悬而未决external',(1,1),这是'#包括'和 '错误LNK2019:无法解析的外部符号 “@ _D3D11CreateDeviceAndSwapChain 48” 在函数“”long __cdecl InitDevice(void)“(?InitDevice @@ YAJXZ)”'in main.obj – ProgrammingMachine5000 2014-12-06 12:42:58

回答

0

您的新项目缺少VC++目录设置以查找DirectX SDK包含/ lib路径。从VS 2010开始,您必须明确设置include/lib路径才能获得与Visual Studio集成的DirectX SDK。

既然你要使用VS 2012与传统的DirectX SDK,你应该知道的是,VC++ 2010 VS目录设置向后从你应该在VS 2012/VS2013使用。这是因为Windows 8.x SDK包含较新版本的版本,这些版本的DirectX头文件在现在已过时并被弃用的旧版DirectX SDK中。

更复杂的是D3DX不存在于Windows 8.x SDK中,并且本身已被弃用。您可以按照MSDN上的说明使其工作,但请记住,您应该考虑Direct3D 11现在有alternatives to using D3DX