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库编译, 与新版的标准库定义不一样。 所以只好用代码重新定义函数指向。

原文地址:https://www.cnblogs.com/sql4me/p/12515274.html

时间: 2024-10-27 05:05:54

MFC 编译链接错误:unresolved external symbol的相关文章

Win7 SP1 msado15 unresolved external symbol

Win7 SP1之后,(VC++)如果使用ADO编程则容易遇到下面的错误 unresolved external symbol "public: long __thiscall Recordset15::Open 原因是,微软在升级之后,c:\Program Files\Common Files\System\ado\msado15.dll已经没有Open等接口,具体原因可以参考: https://support.microsoft.com/en-us/kb/2517589?sd=rss&

C++使用模板类时出现LNK2019 unresolved external symbol错误.

如果你在使用模板类的时候, Declaration和Definition都没有问题, 但却出现了unresolved external symbol错误. 那你应该时遇到了和我一样的问题. 这是一个链接错误, 即程序在运行时并没有找到你所调用的外部符号. C++在编译普通类和模板类是稍有不同. 在编译普通类时, 会在编译时就令其生成编译单元. 所以如果你调用了头文件里函数, 编译器会首先在你包含的头文件中寻找该函数, 如果该函数没有被实现(Definition), 他会在其他编译单元的导出符号表

OpenCv error :unresolved external symbol(链接库没有加上)

Error 如下:Linking...: error LNK2001: unresolved external symbol _cvDestroyWindow: error LNK2001: unresolved external symbol _cvLoadImage: error LNK2001: unresolved external symbol _cvReleaseCapture: error LNK2001: unresolved external symbol _cvRelease

Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor -> Preprocessor Definitions 加入 GOOGLE_GLOG_DLL_DECL=. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_

unresolved external symbol __endthreadex错误解决

unresolved external symbol __endthreadex错误解决在用VC6.0写程序调试时,初学者总是会遇到一些错误,针对如下错误主要是因为MFC类库没有引用所出现的问题.错误现象:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadexnafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external s

错误之unresolved external symbol

1>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 2>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 3>WinM

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

在创建MFC项目时,如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如我今天遇到的: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 解决方法: 控制台项目要使用windows子系统, 而不是console, 设置:[Project] --> [Settings] --> 选择"Link"属性页,在Project Options中将/subsystem:console改成/

(转载)浅析error LNK2001: unresolved external symbol "public: __thisc...

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于 编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过.产生连接错误的原因非常多,尤其LNK2001错误,常常使人不 明其所以然.如果不深入地学习和理解VC++,要想改正连接错误LNK2001非 常困难. 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved   external   symbol   “symbol”(不确定的外部“符号”). 如果连接程

VC6.0 error LNK2001: unresolved external symbol _main解决办法

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过.产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然.如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难. 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol "symbol"(不确定的外部"符号").