,,提示出现unresolved external symbol _main的解决方法

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: