手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

DirectX程序编译出现LNK2001错误怎么办

时间:2024-10-21 21:21:11

在使用 DirectX 编程,尤其是其中的 DirectInput 组件时,很容易葛激握颟发生 LNK2001 错误,提示“无法解析的外部符号”……甚至,就连照搬某些前两年才出版的 DirectX 参考书(不乏经典名作)中的源代码也常常会发生此类错误,导致编译失败。那么,出现这种情况时,该如何解决呢?下面,我们就以 VS2013 为例,来教大家解决的方法。

DirectX程序编译出现LNK2001错误怎么办

工具/原料

VS2013

一、现象描述

1、在本机上已经正确安装 DirectX SDK,并且正确配置的情况下,使用 Dire罕铞泱殳ctX 中的 Dire艘早祓胂ctInput 组件编写程序时,在编译过程中提示 "LNK2001:无法解析的外部符号……“,导致编译失败。

DirectX程序编译出现LNK2001错误怎么办

2、仔细检查相应的库和头文件,似乎尽数包含。

DirectX程序编译出现LNK2001错误怎么办

3、而且,根据出错提示,查找相应的符号时(即函数或宏定义等),却发现它们已经在源代码中定义了。

DirectX程序编译出现LNK2001错误怎么办
DirectX程序编译出现LNK2001错误怎么办

二、解决办法

1、究其原因,是由于代码中使用了预定义的GUID(全局唯一标识符)或某些宏定义,却没有链接以下库文件:dxguid.lib。

DirectX程序编译出现LNK2001错误怎么办

2、这时,尽管你包含了相应的头文件(这些文件中含有相关的定义信息),编译器也无法识别该 GUID 或相应的宏定义。

DirectX程序编译出现LNK2001错误怎么办

3、当然,只要找到原因了,解决办法也是相当简单:将以下语句加入到随便一个头文件或源文件中即可。

DirectX程序编译出现LNK2001错误怎么办

4、加好以后,点击菜单”生成“-”重新生成解决方案“,就可以成功编译了。

DirectX程序编译出现LNK2001错误怎么办
© 手抄报圈