VC6.0常見鏈接錯(cuò)誤與解決方法
更新時(shí)間:2013年07月20日 10:57:48 作者:
這篇文章主要介紹了VC6.0開發(fā)中一些常見鏈接錯(cuò)誤的解決方法,需要的朋友可以參考下
(1)error LNK2001: unresolved external symbol _main
編號(hào):LNK2001
直譯:未解決的外部符號(hào):_main。
錯(cuò)誤分析:缺少main函數(shù)。看看main的拼寫或大小寫是否正確。
(2)error LNK2005: _main already defined in xxxx.obj
編號(hào):LNK2005
直譯:_main已經(jīng)存在于xxxx.obj中了。
錯(cuò)誤分析:
直接的原因是該程序中有多個(gè)(不止一個(gè))main函數(shù)。這是初學(xué)C++的低年級(jí)同學(xué)在初次編程時(shí)經(jīng)常犯的錯(cuò)誤。這個(gè)錯(cuò)誤通常不是你在同一個(gè)文件中包含有兩個(gè)main函數(shù),而是在一個(gè)project(項(xiàng)目)中包含了多個(gè)cpp文件,而每個(gè)cpp文件中都有一個(gè)main函數(shù)。引發(fā)這個(gè)錯(cuò)誤的過程一般是這樣的:你寫完成了一個(gè)C++程序的調(diào)試,接著你準(zhǔn)備寫第二個(gè)C++文件,于是你可能通過右上角的關(guān)閉按鈕關(guān)閉了當(dāng)前的cpp文件字窗口(或者沒有關(guān)閉,這一操作不影響最后的結(jié)果),然后通過菜單或工具欄創(chuàng)建了一個(gè)新的cpp文件,在這個(gè)新窗口中,程序編寫完成,編譯,然后就發(fā)生了以上的錯(cuò)誤。原因是這樣的:你在創(chuàng)建第二個(gè)cpp文件時(shí),沒有關(guān)閉原來的項(xiàng)目,所以你無意中新的cpp文件加入你上一個(gè)程序所在的項(xiàng)目。切換到“File View”視圖,展開“Source Files”節(jié)點(diǎn),你就會(huì)發(fā)現(xiàn)有兩個(gè)文件。
在編寫C++程序時(shí),一定要理解什么是Workspace、什么是Project。每一個(gè)程序都是一個(gè)Project(項(xiàng)目),一個(gè)Project可以編譯為一個(gè)應(yīng)用程序(*.exe),或者一個(gè)動(dòng)態(tài)鏈接庫(*.dll)。通常,每個(gè)Project下面可以包含多個(gè).cpp文件,.h文件,以及其他資源文件。在這些文件中,只能有一個(gè)main函數(shù)。初學(xué)者在寫簡單程序時(shí),一個(gè)Project中往往只會(huì)有一個(gè)cpp文件。Workspace(工作區(qū))是Project的集合。在調(diào)試復(fù)雜的程序時(shí),一個(gè)Workspace可能包含多個(gè)Project,但對(duì)于初學(xué)者的簡單的程序,一個(gè)Workspace往往只包含一個(gè)Project。
當(dāng)完成一個(gè)程序以后,寫另一個(gè)程序之前,一定要在“File”菜單中選擇“Close Workspace”項(xiàng),已完全關(guān)閉前一個(gè)項(xiàng)目,才能進(jìn)行下一個(gè)項(xiàng)目。避免這個(gè)錯(cuò)誤的一個(gè)方法是每次寫完一個(gè)C++程序,都把VC6徹底關(guān)掉,然后重寫打開VC6,寫下一個(gè)程序。
編號(hào):LNK2001
直譯:未解決的外部符號(hào):_main。
錯(cuò)誤分析:缺少main函數(shù)。看看main的拼寫或大小寫是否正確。
(2)error LNK2005: _main already defined in xxxx.obj
編號(hào):LNK2005
直譯:_main已經(jīng)存在于xxxx.obj中了。
錯(cuò)誤分析:
直接的原因是該程序中有多個(gè)(不止一個(gè))main函數(shù)。這是初學(xué)C++的低年級(jí)同學(xué)在初次編程時(shí)經(jīng)常犯的錯(cuò)誤。這個(gè)錯(cuò)誤通常不是你在同一個(gè)文件中包含有兩個(gè)main函數(shù),而是在一個(gè)project(項(xiàng)目)中包含了多個(gè)cpp文件,而每個(gè)cpp文件中都有一個(gè)main函數(shù)。引發(fā)這個(gè)錯(cuò)誤的過程一般是這樣的:你寫完成了一個(gè)C++程序的調(diào)試,接著你準(zhǔn)備寫第二個(gè)C++文件,于是你可能通過右上角的關(guān)閉按鈕關(guān)閉了當(dāng)前的cpp文件字窗口(或者沒有關(guān)閉,這一操作不影響最后的結(jié)果),然后通過菜單或工具欄創(chuàng)建了一個(gè)新的cpp文件,在這個(gè)新窗口中,程序編寫完成,編譯,然后就發(fā)生了以上的錯(cuò)誤。原因是這樣的:你在創(chuàng)建第二個(gè)cpp文件時(shí),沒有關(guān)閉原來的項(xiàng)目,所以你無意中新的cpp文件加入你上一個(gè)程序所在的項(xiàng)目。切換到“File View”視圖,展開“Source Files”節(jié)點(diǎn),你就會(huì)發(fā)現(xiàn)有兩個(gè)文件。
在編寫C++程序時(shí),一定要理解什么是Workspace、什么是Project。每一個(gè)程序都是一個(gè)Project(項(xiàng)目),一個(gè)Project可以編譯為一個(gè)應(yīng)用程序(*.exe),或者一個(gè)動(dòng)態(tài)鏈接庫(*.dll)。通常,每個(gè)Project下面可以包含多個(gè).cpp文件,.h文件,以及其他資源文件。在這些文件中,只能有一個(gè)main函數(shù)。初學(xué)者在寫簡單程序時(shí),一個(gè)Project中往往只會(huì)有一個(gè)cpp文件。Workspace(工作區(qū))是Project的集合。在調(diào)試復(fù)雜的程序時(shí),一個(gè)Workspace可能包含多個(gè)Project,但對(duì)于初學(xué)者的簡單的程序,一個(gè)Workspace往往只包含一個(gè)Project。
當(dāng)完成一個(gè)程序以后,寫另一個(gè)程序之前,一定要在“File”菜單中選擇“Close Workspace”項(xiàng),已完全關(guān)閉前一個(gè)項(xiàng)目,才能進(jìn)行下一個(gè)項(xiàng)目。避免這個(gè)錯(cuò)誤的一個(gè)方法是每次寫完一個(gè)C++程序,都把VC6徹底關(guān)掉,然后重寫打開VC6,寫下一個(gè)程序。
您可能感興趣的文章:
- VC6.0常見編譯錯(cuò)誤提示附解決方法
- ASP.NET中MVC使用AJAX調(diào)用JsonResult方法并返回自定義錯(cuò)誤信息
- VC++實(shí)現(xiàn)通過API來查看程序錯(cuò)誤信息的方法
- 完美解決IIS 服務(wù)器無法加載應(yīng)用程序 ‘/LM/W3SVC/1/ROOT’。錯(cuò)誤是:沒有注冊(cè)類別
- 完美修復(fù)SVCHOST.EXE出現(xiàn)0x745f2780錯(cuò)誤的方法
- VC定制個(gè)性化的MessageBox解決方法
- vc提示unexpected end of file found的原因分析
- VC外部符號(hào)錯(cuò)誤_main,_WinMain@16,__beginthreadex解決方法
相關(guān)文章
使用CMake構(gòu)建一個(gè)簡單的C++項(xiàng)目的實(shí)現(xiàn)
CMake是一個(gè)跨平臺(tái)的自動(dòng)化構(gòu)建工具,可以用于構(gòu)建各種類型的項(xiàng)目,本文主要介紹了使用CMake構(gòu)建一個(gè)簡單的C++項(xiàng)目,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
C++11的for循環(huán),以及范圍Range類的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄狢++11的for循環(huán),以及范圍Range類的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
C語言實(shí)現(xiàn)三子棋小游戲(vs2013多文件)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)三子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
QT中窗口關(guān)閉自動(dòng)銷毀的實(shí)現(xiàn)示例
這篇文章主要介紹了QT中窗口關(guān)閉自動(dòng)銷毀,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

