MFC 编译链接错误:unresolved external symbol

Posted sql4me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC 编译链接错误:unresolved external symbol相关的知识,希望对你有一定的参考价值。

编译MFC程序过程出现以下错误:

  • Error LNK2019 unresolved external symbol __imp___vsnprintf

解决方法:在Visual Studio工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可.

 

  • LNK2001 unresolved external symbol __imp___iob

解决方法:在程序中重新定义_iob, 加上这段代码:extern"C" { FILE _iob[] = { *stdin, *stdout, *stderr }; }

 

产生以上两个问题的原因是程序中引用的链接库是用旧版的stdio库编译, 与新版的标准库定义不一样。 所以只好用代码重新定义函数指向。

以上是关于MFC 编译链接错误:unresolved external symbol的主要内容,如果未能解决你的问题,请参考以下文章

编译错误,如何解决error LNK2001: unresolved external symbol

VC6 编译错误error LNK2001: unresolved external symbol "public: virtual struct

gcc编译简单的c++出现错误<unresolved overloaded function type >size type

释放 MFC Ext DLL @ dllmodul.cpp 时的断言错误 #230

打印一个nil对象编译器说“unresolved identifier”后面发生了啥?

如果 MFC RUNTIME_CLASS 参数具有命名空间,则编译器错误