vc除錯錯誤 編號 LNK2005

2021-09-09 08:59:18 字數 911 閱讀 2737

編號:lnk2005

直譯:_main已經存在於***x.obj中了。

錯誤分析:

直接的原因是該程式中有多個(不止乙個)main函式。這是初學c++的低年級同學在初次程式設計時經常犯的錯誤。這個錯誤通常不是你在同乙個檔案中包含有兩個main函式,而是在乙個project(專案)中包含了多個cpp檔案,而每個cpp檔案中都有乙個main函式。引發這個錯誤的過程一般是這樣的:你寫完成了乙個c++程式的除錯,接著你準備寫第二個c++檔案,於是你可能通過右上角的關閉按鈕關閉了當前的cpp檔案字視窗(或者沒有關閉,這一操作不影響最後的結果),然後通過選單或工具欄建立了乙個新的cpp檔案,在這個新視窗中,程式編寫完成,編譯,然後就發生了以上的錯誤。原因是這樣的:你在建立第二個cpp檔案時,沒有關閉原來的專案,所以你無意中新的cpp檔案加入你上乙個程式所在的專案。切換到「file view」檢視,展開「sourcefiles」節點,你就會發現有兩個檔案。(刪掉乙個就行了)

在編寫c++程式時,一定要理解什麼是workspace、什麼是project。每乙個程式都是乙個project(專案),乙個project可以編譯為乙個應用程式(*.exe),或者乙個動態鏈結庫(*.dll)。通常,每個project下面可以包含多個.cpp檔案,.**件,以及其他資源檔案。在這些檔案中,只能有乙個main函式。初學者在寫簡單程式時,乙個project中往往只會有乙個cpp檔案。workspace(工作區)是project的集合。在除錯複雜的程式時,乙個workspace可能包含多個project,但對於初學者的簡單的程式,乙個workspace往往只包含乙個project。

當完成乙個程式以後,寫另乙個程式之前,一定要在「file」選單中選擇「close workspace」項,已完全關閉前乙個專案,才能進行下乙個專案。

避免這個錯誤的另乙個方法是每次寫完乙個c++程式,都把vc6徹底關掉,然後重寫開啟vc6,寫下乙個程式。

VC 的鏈結錯誤LNK2005

vc 的鏈結錯誤lnk2005 程式設計中經常能遇到lnk2005錯誤 重複定義錯誤,其實lnk2005錯誤並不是乙個很難解決的錯誤。弄清楚它形成的原因,就可以輕鬆解決它了。造成lnk2005錯誤主要有以下幾種情況 1 重複定義全域性變數。可能存在兩種情況 a 對於一些初學程式設計的程式設計師,有時...

VC 的鏈結錯誤LNK2005

程式設計中經常能遇到lnk2005錯誤 重複定義錯誤,其實lnk2005錯誤並不是乙個很難解決的錯誤。弄清楚它形成的原因,就可以輕鬆解決它了。造成lnk2005錯誤主要有以下幾種情況 1 重複定義全域性變數。可能存在兩種情況 a 對於一些初學程式設計的程式設計師,有時候會以為需要使用全域性變數的地方...

VC 的鏈結錯誤LNK2005

程式設計中經常能遇到lnk2005錯誤 重複定義錯誤,其實lnk2005錯誤並不是乙個很難解決的錯誤。弄清楚它形成的原因,就可以輕鬆解決它了。造成lnk2005錯誤主要有以下幾種情況 1 重複定義全域性變數。可能存在兩種情況 a 對於一些初學程式設計的程式設計師,有時候會以為需要使用全域性變數的地方...