最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

unresolved external symbol錯(cuò)誤及其解決方法

2022-04-28 22:51 作者:實(shí)習(xí)證明三方免  | 我要投稿

Linking...

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Debug/CWin4_1.exe : fatal error LNK1120: 1 unresolved externals

執(zhí)行 link.exe 時(shí)出錯(cuò).


CWin4_1.exe - 1 error(s), 0 warning(s)

第一種解決方法:


1、“Project”->“settings”->“c/c++”


“Catagory” 選擇“Code Generation”


?“use run-time library”選擇“debug multithreaded”


此時(shí)確定一般解決問題,也有可能出現(xiàn)如下問題提示:


libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Debug/Hello.exe : fatal error LNK1120: 1 unresolved externals


此時(shí),進(jìn)行第二步操作:


2、[Project] --> [Settings] --> 選擇"Link"屬性頁,


在Project Options中將/subsystem:console改成/subsystem:windows


溫馨提示:在Project Options窗口,右邊滑動條向下滑動就會找到該項(xiàng)!



第二種解決方法:


1.檢查是否包含頭文件afx.h

2.打開project->settings->general->microsoft foundation classes->

選use MFC in a static library

或選 use MFC in a shared DLL(需要把MFC的動態(tài)庫放在system32文件夾下) .






如果錯(cuò)誤提示為:


error LNK2001: unresolved external symbol _main


那么:unresolved external symbol _main的錯(cuò)誤提示是你的cpp文件中沒有main函數(shù),

在工程中改 settings 是沒有用的。

如果你做的控制臺程序,使用/subsystem:console,并且cpp中要有main函數(shù)。

如果你做的windows圖形界面程序,只需要改/subsystem:windows一處就行,并且cpp中要有WinMain函數(shù)?




在網(wǎng)上下了一個(gè)小程序,里面只有CPP文件和一個(gè)resource.h,這是一個(gè)WinMain程序,懶得建立一個(gè)win32工程,直接上來就打開CP文件進(jìn)行build,編譯器報(bào)告上面的錯(cuò)誤(如題).

原因:? ?VC++此時(shí)假定你要建立Console程序而不是GUI程序,而Console程序的Startup Code要載入的是main()而不是Winmain(),導(dǎo)致連接失敗。


改正的方法:? ? 將菜單Project/Settings下Link項(xiàng)Option內(nèi)的/subsystem:console改為/subsystem:windows。另外也可以先New一個(gè)Win32 GUI Project,再拷貝入你的程序,再Build。


error LNK2001: unresolved external symbol 處理

解決外部符號錯(cuò)誤:_main,_WinMain@16,__beginthreadex

在創(chuàng)建MFC項(xiàng)目時(shí), 不使用MFC AppWizard向?qū)? 如果沒有設(shè)置好項(xiàng)目參數(shù), 就會在編譯時(shí)產(chǎn)生很多連接錯(cuò)誤, 如error LNK2001錯(cuò)誤, 典型的錯(cuò)誤提示有:

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


1. Windows子系統(tǒng)設(shè)置錯(cuò)誤, 提示:

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

Windows項(xiàng)目要使用Windows子系統(tǒng), 而不是Console, 可以這樣設(shè)置:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Project Options中將/subsystem:console改成/subsystem:windows

2. Console子系統(tǒng)設(shè)置錯(cuò)誤, 提示:

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

控制臺項(xiàng)目要使用Console子系統(tǒng), 而不是Windows, 設(shè)置:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Project Options中將/subsystem:windows改成/subsystem:console

3. 程序入口設(shè)置錯(cuò)誤, 提示:

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

通常, MFC項(xiàng)目的程序入口函數(shù)是WinMain, 如果編譯項(xiàng)目的Unicode版本, 程序入口必須改為wWinMainCRTStartup, 所以需要重新設(shè)置程序入口:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Category中選擇Output,

再在Entry-point symbol中填入wWinMainCRTStartup, 即可

4. 線程運(yùn)行時(shí)庫設(shè)置錯(cuò)誤, 提示:

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

這是因?yàn)镸FC要使用多線程時(shí)庫, 需要更改設(shè)置:

[Project] --> [Settings] --> 選擇"C/C++"屬性頁,

在Category中選擇Code Generation,

再在Use run-time library中選擇Debug Multithreaded或者multithreaded


其中,

Single-Threaded 單線程靜態(tài)鏈接庫(release版本)

Multithreaded 多線程靜態(tài)鏈接庫(release版本)

multithreaded DLL 多線程動態(tài)鏈接庫(release版本)

Debug Single-Threaded 單線程靜態(tài)鏈接庫(debug版本)

Debug Multithreaded 多線程靜態(tài)鏈接庫(debug版本)

Debug Multithreaded DLL 多線程動態(tài)鏈接庫(debug版本)

單線程: 不需要多線程調(diào)用時(shí), 多用在DOS環(huán)境下

多線程: 可以并發(fā)運(yùn)行

靜態(tài)庫: 直接將庫與程序Link, 可以脫離MFC庫運(yùn)行

動態(tài)庫: 需要相應(yīng)的DLL動態(tài)庫, 程序才能運(yùn)行

release版本: 正式發(fā)布時(shí)使用

debug版本: 調(diào)試階段使用

————————————————

版權(quán)聲明:本文為CSDN博主「freepenix」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/u014513151/article/details/48602781/


unresolved external symbol錯(cuò)誤及其解決方法的評論 (共 條)

分享到微博請遵守國家法律
商丘市| 临沭县| 兰坪| 米脂县| 乃东县| 湘乡市| 陆川县| 长岛县| 东丽区| 延庆县| 金溪县| 开远市| 鸡西市| 佛冈县| 科尔| 昌乐县| 石柱| 拜泉县| 师宗县| 鸡泽县| 庆阳市| 涿鹿县| 余姚市| 闽清县| 宜黄县| 固安县| 阿拉尔市| 通辽市| 呼伦贝尔市| 环江| 林周县| 萍乡市| 南城县| 南郑县| 通许县| 磴口县| 宾阳县| 新竹市| 资阳市| 开原市| 成都市|