VC6.0常見連結錯誤與解決方案

來源:互聯網
上載者:User

這篇文章主要介紹了VC6.0開發中一些常見連結錯誤的解決方案,需要的朋友可以參考下 

(1)error LNK2001: unresolved external symbol _main

編號:LNK2001
直譯:未解決的外部符號:_main。
錯誤分析:缺少main函數。看看main的拼字或大小寫是否正確。

(2)error LNK2005: _main already defined in xxxx.obj

編號:LNK2005
直譯:_main已經存在於xxxx.obj中了。

錯誤分析:

直 接的原因是該程式中有多個(不止一個)main函數。這是初學C++的低年級同學在初次編程時經常犯的錯誤。這個錯誤通常不是你在同一個檔案中包含有兩個 main函數,而是在一個project(項目)中包含了多個cpp檔案,而每個cpp檔案中都有一個main函數。引發這個錯誤的過程一般是這樣的:你 寫完成了一個C++程式的調試,接著你準備寫第二個C++檔案,於是你可能通過右上方的關閉按鈕關閉了當前的cpp檔案字視窗(或者沒有關閉,這一操作不 影響最後的結果),然後通過菜單或工具列建立了一個新的cpp檔案,在這個新視窗中,程式編寫完成,編譯,然後就發生了以上的錯誤。原因是這樣的:你在創 建第二個cpp檔案時,沒有關閉原來的項目,所以你無意中新的cpp檔案加入你上一個程式所在的項目。切換到“File View”視圖,展開“Source Files”節點,你就會發現有兩個檔案。

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

當完成一個程式以後,寫另一個程式之前,一定要在“File”菜單中選擇“Close Workspace”項,已完全關閉前一個項目,才能進行下一個項目。避免這個錯誤的一個方法是每次寫完一個C++程式,都把VC6徹底關掉,然後重寫開啟VC6,寫下一個程式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.