Win32 Consle
Application使用MFC的一部分类如CString时编写翻译时相信会很平日遭受有的接连错误:
1.       unresolved external symbol __beginthreadex
2.       unresolved external symbol __endthreadex
可是毫无MFC类又令人不愿,放着美妙绝伦的类库不用实在太缺憾了。其实是足以用的,只是大家的安装失常。
上边作者将切实设置描述一下,和我们一齐共享我的涉世。
风度翩翩.新建一个Win32 Consle Application工程:GetCurrentTime。
二.打开“Project”菜单——〉“Setting”菜单项——〉General选项卡
在Microsoft Fountion Classes:中选择:Use MFC in Static Library.

error LNK2001: unresolved external symbol _main解决办法
2007年04月07日 星期六 11:39
小编: liuhuinwpu 公布日期: 2007-05-28 复制链接 收藏
解决外界符号错误:_main,_WinMain@16,__beginthreadex )
在创造MFC项目时, 不行使MFC AppWizard向导,
若无安装好项目参数,就能够在编写翻译时发出不菲连连错误, 如error
LNK2003荒谬, 规范的错误提醒有:  
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol
_main  
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol
_WinMain@16  
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol
_WinMain@16  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
__beginthreadex  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
__endthreadex n  

三.再在C/C++选项卡中的在Category中采用Code Generation,
再在Use run-time library中选择Debug Multithreaded或者multithreaded
其中,
Single-Threaded单线程静态链接库(release版本卡塔尔
Multithreaded十六线程静态链接库(release版本卡塔尔(قطر‎
multithreaded DLL四线程动态链接库(release版本卡塔尔(قطر‎
Debug Single-Threaded单线程静态链接库(debug版本卡塔尔
Debug Multithreaded八线程静态链接库(debug版本卡塔尔
Debug Multithreaded DLL十二线程动态链接库(debug版本卡塔尔国

  1. Windows子系统装置错误, 提醒:  
    libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol
    _main  

采用Debug Multithreaded(如若您在Win32 Debug境况下)

Windows项目要利用Windows子系统, 实际不是Console, 能够如此设置:  

[Project] –> [Settings] –> 选择”Link”属性页,
在Project Options中将/subsystem:console改成/subsystem:windows   

  1. Console子系统设置错误, 提示:
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol
    _WinMain@16

调控台项目要选取Console子系统, 并不是Windows, 设置:  

[Project] –> [Settings] –> 选择”Link”属性页,  
在Project Options中将/subsystem:windows改成/subsystem:console  

  1. 次第入口设置错误, 指示:  
    msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol
    _WinMain@16

日常说来, MFC项目标次序入口函数是WinMain, 假设编写翻译项目标Unicode版本,
程序入口必需改为wWinMainCRTStartup, 所以必要再一次安装程序入口:

[Project] –> [Settings] –> 选择”Link”属性页,
在Category中选择Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 即可

  1. 线程运转时库设置错误, 提示: @: kAF n
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
    __beginthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
    __endthreadex

那是因为MFC要利用三十二线程时库, 须要更改设置:

[Project] –> [Settings] –> 选择”C/C++”属性页, ‘)
在Category中选择Code Generation,
再在Use run-time library中选择Debug Multithreaded或者multithreaded
鲍鱼游侠(75374355State of Qatar 12:11:11
其中,
Single-Threaded                    单线程静态链接库(release版本卡塔尔
Multithreaded                      八线程静态链接库(release版本卡塔尔
multithreaded DLL                  多线程动态链接库(release版本卡塔尔国  
Debug Single-Threaded              单线程静态链接库(debug版本卡塔尔国
Debug Multithreaded                八线程静态链接库(debug版本State of Qatar
Debug Multithreaded DLL            三十二十四线程动态链接库(debug版本卡塔尔(قطر‎

单线程: 不须求多线程调用时, 多用在DOS遭遇下
八线程: 能够并发运营
静态库: 直接将库与程序Link, 能够退出MFC库运维
动态库: 需求相应的DLL动态库, 程序本领运转
release版本: 正式发表时采纳
debug版本: 调节和测量检验阶段接受