2013-02-04 37 views
0

我在目錄「project」中有大項目。我使用cmake將該項目構建到另一個目錄「build」中。對於編碼,我嘗試使用Eclipse,但是當我嘗試將我的代碼導入Eclipse(File-> Import-> C/C++ - > Existing Code as Makefile Project)時,我當然只能導入「build」目錄,而沒有「project 「(因爲make文件在Eclipse中是」build「和」project「是空的)。如何調試Eclipse上的外部.cpp文件CDT(C++)

當我在調試模式下運行我的構建時,我只能調試二進制數據,因爲debuger在「項目」目錄中看不到源代碼。我如何設置debuger來使用「項目」目錄中的源代碼?謝謝如果有人回答!

回答

0

將您的Project(rootdir not build)作爲MakeFile Project導入工作區(選擇GNU Toolschain或Linux GCC)。現在打開你的項目屬性 - > C++編譯並選擇你的項目中的編譯文件夾。

現在您可以編譯它並創建一個新的運行配置以進行調試。

Greez足色

編輯:

我假設你rootfolder看起來像這樣

的cmake/

CmakeList.txt

的src/

DEP/

../

現在你創建一個文件夾建立 您切換到構建和運行cmake的cmake的../ -flags(沒有Eclipse的項目,使用默認GCC)

當你這樣做這款U可以將您的rootfolder導入eclipse cdt並選擇root/build作爲構建文件夾。哪裏有問題? Eclipse CDT現在只希望現在makefile文件位於buildtime(這就是爲什麼您需要手動選擇生成文件夾)

+0

我無法導入ROOTDIR的文件項目,因爲ROOTDIR不具有使文件。它只有cmake文件! cmake文件在創建時創建make文件。我知道我可以將cmake構建到根目錄中,問題將自動解決,但我的目標是從cmake創建外部構建。 – xmash

+0

makefile項目也適用於cmake。 –

+0

由於某些原因,移動目錄不是解決方案。我只需要知道如何爲當前目錄設置Eclipse(out-of-source build)。 – xmash

0

如果您在系統上構建應用程序 - 構建目錄,則不需要工作空間中的源來調試應用程序&路徑位於您的可執行調試信息中。

  1. 請確保您將-g同時傳遞給編譯器和鏈接器。
  2. 嘗試命令行GDB - 它也應該找到源代碼。
  3. 設置啓動配置時,您可以在Eclipse CDT調試器中設置自定義源映射 - 但我相信這主要適用於在構建應用程序之後移動源或者在另一個系統上構建的情況下移動源的情況。
0
+0

我所做的都是你展示的。並有這樣的斷點:「沒有符號表加載,使用」文件「命令。」 - 在Eclipse控制檯中。 :)我沒有時間來解決這個問題,所以我使用手動調試,截止日期非常緊密。 :)我認爲gdb發生了一些事情。那麼,當我完成這個項目時,我會試着解決這個問題,只是爲了感興趣並在這裏給出評論。大家感謝幫助。對此,我真的非常感激。 – xmash

+0

你可以放更好的照片嗎?我什麼也看不到。 – Tal