程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法

VC內部符號毛病_main,_WinMain@16,__beginthreadex處理辦法

編輯:關於C++

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法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved