关闭

令人无语的 windows 编程 error LNK 2001 错误

613人阅读 评论(0) 收藏 举报

VC++时经常会遇到链接错误LNK2001:常见的有

 

解决外部符号错误:_main,_WinMain@16,__beginthreadex -!t'my`yK

主要是在创建 MFC 的程序时,如果没有新建 MFC 的工程,而是手动连接时,会出现好多错误,会很无语的:

 

error LNK2001错误

1.libcmtd.lib(crt0.obj) : error LNK2001: unresolvedexternal symbol _main
2.LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved externalsymbol WinMAin@16

3.msvcrtd.lib(crtexew.obj) : error LNK2001: unresolvedexternal symbol WinMain@16

4.nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolvedexternal symbol __beginthreadex

5.nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolvedexternal symbol __endthreadex

 

解决 1 :

[Project] --> [Settings] -->选择"Link"属性页,

在ProjectOptions中将/subsystem:console改成/subsystem:windows 

 

解决 2 :

[Project] --> [Settings] -->选择"Link"属性页,

在ProjectOptions中将/subsystem:windows改成/subsystem:console

 

解决 3:

[Project] --> [Settings] -->选择"Link"属性页,

在Category中选择Output,

再在Entry-point symbol中填入wWinMainCRTStartup

 

解决 4:( 这两个是 线程问题 

[Project] --> [Settings] -->选择"C/C++"属性页,

在Category中选择Code Generation,

再在Use run-time library中选择DebugMultithreaded或者multithreaded

 

具体解释:::

Single-Threaded                单线程静态链接库(release版本)

Multithreaded                  多线程静态链接库(release版本)

multithreadedDLL              多线程动态链接库(release版本)

DebugSingle-Threaded          单线程静态链接库(debug版本)

DebugMultithreaded            多线程静态链接库(debug版本)

Debug MultithreadedDLL        多线程动态链接库(debug版本)

 

单线程: 不需要多线程调用时, 多用在DOS环境下

多线程: 可以并发运行

静态库: 直接将库与程序Link, 可以脱离MFC库运行

动态库: 需要相应的DLL动态库, 程序才能运行

release版本: 正式发布时使用

debug版本: 调试阶段使用


参照往上很多资料!

特别感谢!




0
0
查看评论

VC6.0 C++编程错误error LNK2001

解决外部符号错误:_main,_WinMain@16,__beginthreadex 在创建MFC项目时, 不使用MFC AppWizard向导, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LN...
  • yongan1006
  • yongan1006
  • 2015-08-21 13:42
  • 2437

VS2015和QT5.5项目出现的诡异错误(LNK2001和LNK09)的解决办法

VS2015和QT5.5项目出现的诡异错误(LNK2001和LNK2109)的解决办法 今天要把一个旧的QT项目移植到VS2015和QT5.5.1的环境下,没想到出现了诡异的错误,发费了不少时间才找到解决办法,现在把他记录下来,大家可以借鉴。
  • liuyez123
  • liuyez123
  • 2015-12-21 12:39
  • 3239

fatal error LNK1120:error LNK2001: 无法解析的外部符号

 所以主要是解决LNK1120关键是要解决链接器工具错误 LNK2001  这分一下的情况(来自VS 2008的帮助),在这里我只复制一些比较常见的,如果还不行,你重建工程来吧~~ 一、代码问题   1.如果 LNK...
  • u014023993
  • u014023993
  • 2014-04-08 19:32
  • 2299

C++链接器工具错误:LNK2001, LNK2019

 这是归属于链接器工具错误 这一类。无法解析的外部符号“symbol”代码引用了链接器无法在库和对象文件中找到的内容(如函数、变量或标签)。可能的原因 代码请求的内容不存在(例如,符号拼写错误或使用错误的大小写)。 代码请求的内容错误(使用的是混合版本的库,一些库...
  • roger_77
  • roger_77
  • 2006-09-21 10:56
  • 27118

OpenCV错误:error LNK2001:unresolved external symbol _cvGEMM

在做《OpenCV 教程 基础篇》第3单元的例3-1时,连接时出现以下错误:
  • Q1302182594
  • Q1302182594
  • 2013-11-13 16:27
  • 2016

error LNK 2001

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于  编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,  编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不  明其所以然。如果不深入地学习和理解VC++,要...
  • FrankieWang008
  • FrankieWang008
  • 2011-10-12 10:03
  • 435

error lnk 2001

http://baike.baidu.com/view/4098318.htm http://topic.csdn.net/t/20030327/13/1583683.html
  • space3107
  • space3107
  • 2012-07-11 17:21
  • 262

ERROR LNK 2001||2019

关于这两个错误首先必须明白链接是为了将目标文件与类库文件链接所以这种错误 多半是无法找到类库文件"error LNK2001: unresolved external symbol"是没有添加CPP/H文件到Resource文件夹中而"error LNK2019无法解析...
  • zhuanshazhuyao
  • zhuanshazhuyao
  • 2011-06-29 02:06
  • 723

LNK 2001错误

习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于 编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不 明其所以然。如果不深入地学习和理解VC++,要想改正
  • djinglan
  • djinglan
  • 2011-08-12 15:55
  • 619

error LNK2001: 无法解析的外部符号 解决方法

vs 2005下正在链接...Media.obj : error LNK2001: 无法解析的外部符号 IID_IBasicAudioMedia.obj : error LNK2001: 无法解析的外部符号 IID_IBasicVideoMedia.obj : error LNK2001: 无法解析...
  • lanyang123456
  • lanyang123456
  • 2010-04-17 10:06
  • 30510
    个人资料
    • 访问:635675次
    • 积分:7127
    • 等级:
    • 排名:第3808名
    • 原创:182篇
    • 转载:36篇
    • 译文:0篇
    • 评论:84条
    博客专栏