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

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


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

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

 

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

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

d3d10.lib
d3dx10.lib
d3dx10d.lib

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

原文地址:https://www.cnblogs.com/dbylk/p/3696472.html