欢迎来到天天文库
浏览记录
ID:62033988
大小:30.50 KB
页数:6页
时间:2021-04-15
《VC常见调试错误代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、————-—————-—-—-——首先说下最常见的link错误处理办法:在创建MFC项目时,不使用MFCAppWizard向导,如果没有设置好项目参数,就会在编译时产生很多连接错误,如errorLNK2001错误,典型的错误提示有:libcmtd.lib(crt0。obj):errorLNK2001:unresolvedexternalsymbol_mainLIBCD.lib(wincrt0.obj):errorLNK2001:unresolvedexternalsymbol_WinMain@16msvcrtd。lib(crtexew。obj):errorL
2、NK2001:unresolvedexternalsymbol_WinMain@16nafxcwd.lib(thrdcore.obj):errorLNK2001:unresolvedexternalsymbol__beginthreadexnafxcwd。lib(thrdcore.obj):errorLNK2001:unresolvedexternalsymbol__endthreadex下面介绍解决的方法:1。Windows子系统设置错误,提示:libcmtd.lib(crt0。obj):errorLNK2001:unresolvedexternalsym
3、bol_mainWindows项目要使用Windows子系统,而不是Console,可以这样设置:[Project]-—>[Settings]—->选择"Link"属性页,在ProjectOptions中将/subsystem:console改成/subsystem:windows2。Console子系统设置错误,提示:LIBCD.lib(wincrt0。obj):errorLNK2001:unresolvedexternalsymbol_WinMain@16控制台项目要使用Console子系统,而不是Windows,设置:[Project]—-〉[Sett
4、ings]-->选择”Link”属性页,在ProjectOptions中将/subsystem:windows改成/subsystem:console3。程序入口设置错误,提示:msvcrtd。lib(crtexew。obj):errorLNK2001:unresolvedexternalsymbol_WinMain@16通常,MFC项目的程序入口函数是WinMain,如果编译项目的Unicode版本,程序入口必须改为wWinMainCRTStartup,所以需要重新设置程序入口:[Project]—->[Settings]——〉选择”C/C++”属性页,在
5、Category中选择Output,再在Entry—pointsymbol中填入wWinMainCRTStartup,即可4.线程运行时库设置错误,提示:nafxcwd.lib(thrdcore。obj):errorLNK2001:unresolvedexternalsymbol__beginthreadexnafxcwd。lib(thrdcore.obj):errorLNK2001:unresolvedexternalsymbol__endthreadex这是因为MFC要使用多线程时库,需要更改设置:[Project]—->[Settings]—-〉选择"
6、C/C++"属性页,在Category中选择CodeGeneration,再在Userun-timelibrary中选择DebugMultithreaded或者multithreaded其中,Single—Threaded单线程静态链接库(release版本)Multithreaded多线程静态链接库(release版本)multithreadedDLL多线程动态链接库(release版本)DebugSingle-Threaded单线程静态链接库(debug版本)DebugMultithreaded多线程静态链接库(debug版本)DebugMultithr
7、eadedDLL多线程动态链接库(debug版本)单线程:不需要多线程调用时,多用在DOS环境下多线程:可以并发运行静态库:直接将库与程序Link,可以脱离MFC库运行动态库:需要相应的DLL动态库,程序才能运行release版本:正式发布时使用debug版本:调试阶段使用例如,当我们不在MFC创建的环境下(consoleappllication),使用CString类等等,那么就会出现nafxcwd.lib(thrdcore。obj):errorLNK2001:unresolvedexternalsymbol__beginthreadexnafxcwd。l
8、ib(thrdcore.obj):errorLNK2
此文档下载收益归作者所有