unresolved external symbol __endthreadex錯誤解決
在用VC6.0寫程式調試時,初學者總是會遇到一些錯誤,針對如下錯誤主要是因為MFC類庫沒有引用所出現的問題。
錯誤現象:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __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
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/Leolzy/archive/2007/01/15/1483489.aspx
錯誤提示:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __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 externalsymbol _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->microsoftfoundation classes->
選use MFC in a static library
或選 use MFC in a shared DLL(需要把MFC的動態庫放在system32檔案夾下) .
本人是碰到的
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved externalsymbol __beginthreadex
這兩行錯誤,故用第二種方法解決,分析原因是我調用了MFC類庫,但建立的控制台程式預設不載入MFC類庫,故需要改此處設定。
第一種方法是在網上搜的,碰到類似的問題可以嘗試一下。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main[Project] --> [Settings] --> 選擇"Link"屬性頁面,在Project Options中將/subsystem:console改成/subsystem:windows