首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误LNK2001:无法解析外部符号

错误LNK2001:无法解析外部符号
EN

Stack Overflow用户
提问于 2011-02-16 20:37:17
回答 2查看 20K关注 0票数 4

我正在将我的项目从vc6转换到VS2010。当我编译我的项目时,我得到了如下关于五月.lib输入的错误。我已经在链接器->输入->附加依赖项中添加了所有这些库,还在链接->常规->附加库目录中提供了这些.lib文件的路径。这方面的任何提示都会非常有帮助。

代码语言:javascript
复制
lb0.lib(ob0.obj) :error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb1.lib(ob1.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb2.lib(ob2.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb3.lib(ob3.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb3.lib(ob4.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb3.lib(ob5.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)
lb4.lib(0b6.obj) : error LNK2001: unresolved external symbol "void __stdcall SetLastExP(class ExceptionClass *)" (?SetLastExP@@YGXPAVExceptionClass@@@Z)

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 20:01:02

您需要确定SetLastExP()函数的定义位置。

  • 检查实现SetLastExP的库是否已链接。
  • 获取.obj文件并检查dumpbin是否实现了您所期望的装饰。

find "External“| find "SetLastExP"

  • Compare /symbols foo.obj |查找链接器错误消息中显示的带有装饰的装饰。

可能这个函数被定义为extern "C",而你的头文件并没有反映这一点。

票数 7
EN

Stack Overflow用户

发布于 2011-11-22 20:09:34

有时,如果您的子项目中有不同的字符集(Configuration properties -> general),Visual Studio会显示此类错误:

代码语言:javascript
复制
error LNK2001: unresolved external symbol" with an *.obj
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5016491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档