提示出现unresolved external symbol _main的解决方法提示符unresolvedexternalsymbol_main搜索的原因如下。创建MFC项目时,不使用MFCAppWizard向导。如果项目参数设置不正确,在编译过程中会出现许多连接错误,如errorLNK2001错误。典型的错误提示有:libcmtd . lib(CRT 0 . obj):error lnk 2001:unresolvedexternalsymbol _ mainlibcd . lib(wincrt 0 . obj):error lnk 2001:unresolvdexternalsymbol _ WinMain @ 16msvcrtd . lib(crtexew . obj):error lnk 2001:unresolvdexternalsymbol _ WinMain @ 16nafxcwd . lib(thrd core . obj):error lnk 2001:unresolvedexternalsymbol _ _ beginthreadexnafxcwd . lib(thrd core . obj):error lnk 2001:unresolvedexternalsymbol _ _ endthreadex解决方案如下:1.1号。Windows子系统设置不正确,提示:libcmtd . lib(CRT 0 . obj):error lnk 2001:unresolvedexternalsymbol _ mainWindows项目应该使用Windows子系统而不是控制台,可以设置如下:[项目]-[设置]-选择“链接”属性页,将项目选项中的/subsystem:console更改为/subsystem:windows2.控制台子系统设置错误,提示:libcd . lib(wincrt 0 . obj):error lnk 2001:unresolvdexternalsymbol _ WinMain @ 16控制台项目应使用控制台子系统而不是Windows,并设置:[项目]-[设置]-选择“链接”属性页,将项目选项中的/subsystem:windows更改为/subsystem:console3.程序入口设置错误,提示:msvcrtd . lib(crtexew . obj):error lnk 2001:unresolvdexternalsymbol _ WinMain @ 16MFC项目的程序入口函数一般是WinMain。如果编译的是Unicode版本的项目,则程序条目必须更改为wWinMainCRTStartup,因此需要重置程序条目:[项目]-[设置]-选择“链接”属性页,在类别中选择输出,然后在入口点符号中填入wWinMainCRTStartup。4.线程运行时库设置错误,提示:nafxcwd . lib(thrd core . obj):error lnk 2001:unresolvedexternalsymbol _ _ beginthreadexnafxcwd . lib(thrd core . obj):error lnk 2001:unresolvedexternalsymbol _ _ endthreadex这是因为MFC需要更改设置以使用多线程时间库:[项目]-[设置]-选择 C/C 属性页,在类别中选择代码生成,在用户运行时库中选择调试多线程或多线程。其中,单线程单线程静态链接库(发布版)线程化多线程静态链接库(发布版)线程化dll多线程动态链接库(发布版)调试单线程静态链接库(调试版)调试多线程静态链接库(调试版)DebugMultithreadedDLL多线程动态链接库(调试版)单线程:不需要多线程调用时,多用于DOS环境。多线程:可以并发运行。静态库:直接把库和程序链接起来,不用MFC库也能运行。动态库:运行程序需要相应的DLL动态库。发布:正式发布时使用。调试:用于调试阶段