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

原创 2012年03月21日 07:02:27

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版本: 调试阶段使用


参照往上很多资料!

特别感谢!




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

错误总结:error LNK2001

1、问题描述: error LNK2001: unresolved external symbol _WinMain@16 debug/main.exe:fatal error LNK 1120:...

error LNK2001: VC中外部符号错误的解决

参考资料:http://blog.csdn.net/dongfangyu/article/details/4580582 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者...

LIBCMT.LIB(crt0.obj) : error LNK2001: unresolved external symbol _main错误的解决

最近写一个ATL的项目,最终realease的时候出现了这个问题,当时吓了一跳,后来发现了问题,代码没有错误是配置搞错了,因为debug没有任何问题。 出错原因:使用了CRT函数,这些函数需要CRT...
  • weuro
  • weuro
  • 2012-01-18 10:50
  • 644

error LNK2001: unresolved external symbol VC++链接错误详解

error LNK2001: unresolved external symbol VC++链接错误详解 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程...

错误:VC6.0 error LNK2001:unresolved external symbol _main

在创建MFC项目时, 不使用MFC AppWizard向导,就会在编译时产生很多连接错误,如error LNK2001错误。典型的错误提示有: Windows子系统设置错误:error LNK2001...
  • Jurbo
  • Jurbo
  • 2017-06-28 11:44
  • 224

[转]vc error LNK2001 错误详述

vc error LNK2001 错误详述http://niufei.blog.edu.cn/2009/251441.html   学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为...

error LNK2001: unresolved external symbol 错误分析

http://blog.csdn.net/haifengwhb/article/details/2137765 如果在 ATL 组件程序中调用了 CRT 的运行时刻库函数,比如开平方 sqrt(...

error LNK2001: unresolved external symbol VC++链接错误详解

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误...

error LNK2001: unresolved external symbol 链接错误解决办法

出现这个错误网上也有很多现象,比如工程建立的不对,一些库的导出问题,或者某某函数没有实现等等,网上也有很多有效的解决办法。      我也遇到了这个问题:程序是一个多线程程序,Debug版本没有问题...

error LNK2001: __imp___CrtDbgReportW 错误改正

今天从一个大项目里分出一个功能模块,编写成DLL文件,利用调用管理等等。反正是分出来一个DLL。 所以,文件里面的代码全都是在大的项目中编译运行通过的。 但是,经过调试添加各个lib,includ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)