【VS2013生成DirectX Tutorials时遇到的错误】无法解析的外部符号 _D3D10CreateDeviceAndSwapChain@32

 本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/3696472.html 

 


 

今天尝试编译DirectX10中的一个Turorials时,在已经把SDK中的LIB文件夹加入到库目录中以后,还是遇到了链接错误:

error LNK2001: 无法解析的外部符号 _D3D10CreateDeviceAndSwapChain@32    F:\My Files\Documents\Visual Studio 2013\Projects\DirectX-2014-04-27\DirectX-2014-04-27\Main.obj    DirectX-2014-04-27
error LNK2001: 无法解析的外部符号 _D3DX10CreateEffectFromFileW@48    F:\My Files\Documents\Visual Studio 2013\Projects\DirectX-2014-04-27\DirectX-2014-04-27\Main.obj    DirectX-2014-04-27

 

经过查找以后问题解决:原因是因为DX SDK的头文件中未使用#pragma comment(lib,"xxx.lib") 链接相应的库。

通过在“项目->属性->链接器->输入->附加依赖项”中添加以下lib文件就可以成功链接了。

d3d10.lib
d3dx10.lib
d3dx10d.lib

(观察导致LINK ERROR的函数名前缀,再到SDK的LIB文件夹中找找就可以确定缺失的是哪个lib文件)

posted @ 2014-04-28 15:32  大便一箩筐  阅读(996)  评论(0编辑  收藏  举报