VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法。本站提示廣大學習愛好者:(VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法正文
本文實例講述了VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法。分享給年夜家供年夜家參考。詳細以下:
在創立MFC項目時, 不應用MFC AppWizard領導, 假如沒有設置好項目參數,就會在編譯時發生許多銜接毛病, 如error LNK2001毛病,
典范的毛病提醒有:
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol
_main
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
msvcrtd.lib(crtexew.obj) : error
LNK2001: unresolved external symbol _WinMain@16
nafxcwd.lib(thrdcore.obj) : error
LNK2001: unresolved external symbol
__beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved
external symbol __endthreadex n
1. Windows子體系設置毛病, 提醒:
libcmtd.lib(crt0.obj) : error LNK2001: unresolved
external symbol _main
Windows項目要應用Windows子體系, 而不是Console, 可以如許設置:
[Project] –> [Settings] –> 選擇”Link”屬性頁,
在Project Options中將/subsystem:console改成/subsystem:windows
2. Console子體系設置毛病, 提醒:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved
external symbol _WinMain@16
掌握台項目要應用Console子體系, 而不是Windows, 設置:
[Project] –> [Settings] –> 選擇”Link”屬性頁,
在Project Options中將/subsystem:windows改成/subsystem:console
3. 法式進口設置毛病,
提醒:
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
平日, MFC項目標法式進口函數是WinMain,
假如編譯項目標Unicode版本, 法式進口必需改成wWinMainCRTStartup, 所以須要從新設置法式進口:
[Project] –> [Settings] –> 選擇”Link”屬性頁,
在Category當選擇Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 便可
4. 線程運轉時庫設置毛病, 提醒:
@:
kAF n
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
__beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved
external symbol __endthreadex
這是由於MFC要應用多線程時庫, 須要更改設置:
[Project] –> [Settings] –> 選擇”C/C++”屬性頁,
在Category當選擇Code Generation,
再在Use run-time library當選擇Debug Multithreaded或許multithreaded
個中, Single-Threaded 單線程靜態鏈接庫(release版本)
Multithreaded 多線程靜態鏈接庫(release版本)
multithreaded DLL 多線程靜態鏈接庫(release版本)
Debug
Single-Threaded 單線程靜態鏈接庫(debug版本)
Debug
Multithreaded 多線程靜態鏈接庫(debug版本)
Debug Multithreaded
DLL 多線程靜態鏈接庫(debug版本)
單線程: 不須要多線程挪用時, 多用在DOS情況下
多線程: 可以並發運轉
靜態庫: 直接將庫與法式Link, 可以離開MFC庫運轉
靜態庫: 須要響應的DLL靜態庫, 法式能力運轉
release版本: 正式宣布時應用
debug版本: 調試階段應用
願望本文所述對年夜家的VC法式設計有所贊助。