轉載於 程序風雲
在用VC6.0寫程序調試時,初學者總是會遇到一些錯誤,針對如下錯誤主要是因爲MFC類庫沒有引用所出現的問題。
錯誤現象:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/jnHid.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
解決錯誤的方法:
選擇Project-Settings--General--Microsoft foundation Classes
下拉列表中有三個選項:
1、Not using MFC
2、Use MFC in a Static Libray
3、Use MFC in a Shared DLL
錯誤提示:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Hello.exe : fatal error LNK1120: 3 unresolved externals
第一種解決方法:
1、“Project”->“settings”->“c/c++”“Catagory” 選擇“Code Generation”“use run-time library”選擇“debug multithreaded”
此時確定一般解決問題,也有可能出現如下問題提示:
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Hello.exe : fatal error LNK1120: 1 unresolved externals
此時,進行第二步操作:
2、
[Project] --> [Settings] --> 選擇"Link"屬性頁,在Project Options中將/subsystem:console改成/subsystem:windows
溫馨提示:在Project Options窗口,右邊滑動條向下滑動就會找到該項!
總結:進行以上兩步操作後,問題解決!
第二種解決方法:
1.檢查是否包含頭文件afx.h
2.打開project->settings->general->microsoft foundation classes->選use MFC in a static library或選 use
MFC in a shared DLL(需要把MFC的動態庫放在system32文件夾下) .
http://hi.baidu.com/fengyun8749/item/9663dc7a883ac73e7044234c