2010-03-17 35 views
6

我知道CDT 7將包含正則表達式錯誤解析器,但現在我正在使用CDT 6。Eclipse CDT錯誤解析器,用於基於外部gcc的構建器

我有一個外部CDT構建器,它只是調用一個shell腳本來觸發我的構建(基於Jam)。構建使用GCC,並將錯誤和警告流式傳輸到控制檯視圖,但當然沒有錯誤解析器正在查看它,因此沒有任何內容出現在我的問題視圖中。

有沒有辦法配置CDT在我的控制檯輸出上使用它的GCC掃描器來填充Problems視圖? GCC解析器已啓用,它只是不看我的輸出。

回答

3

我不知道,如果這個問題仍然是實際的,但下面的解決方案應該努力來填充問題查看:

1)創建CDT空C++生成文件(姑且稱之爲solution1

2)從項目的上下文菜單中(在項目瀏覽器中)選擇「導入...」

3)在「導入」嚮導中選擇「常規/文件系統」,點擊「下一步」並選擇你的源目錄。不幸的是,CDT 6不允許創建對CDT 7等文件的引用。相反,它會將所有源複製到項目在工作區中的位置。所以你導入的最上面的目錄應該包含Jamroot。不要忘記在導入撥號日誌中檢查所有必需的文件和文件夾的所有框。

作爲一種更優雅的替代導入,您可以在eclipse項目中創建一個文件夾,並將其鏈接到包含必要Jamfile 的源文件夾 - 感謝Vanuan的提示。

後的文件被添加打開項目屬性,然後執行以下更改:

4)確保兩個CDT Builder和掃描儀配置生成器的建造者頁面上選擇。對於CDT生成器屬性,我建議選擇除「自動生成期間」之外的所有選項

5)在「C/C++ Build」頁面中取消選中「Use Default Build Command」並放入類似「$ {HOME}/boost」的內容。 build/bin/bjam「。在「構建位置」中,您應該將該文件夾與您要從項目層次結構中構建的必要的jamfile相關聯。例如,「${workspace_loc:/solution1/Server}

6)切換到「行爲」選項卡併爲「構建(增量)」和「乾淨」選項添加必要的bjam參數。取消選中「Build on resource save(自動構建)」

7)在「C/C++編譯/設置/錯誤解析器」中選擇所有必要的解析器。其他一切應該保持默認狀態。

之後,你應該很好去。

如果您的源代碼樹中有多個項目並且使用了「導入」方法,則爲每個項目創建單獨的構建配置併爲其指定相應的「構建位置」值是有意義的。我使用CDT 7,因爲它允許導入對源文件夾的引用,而不是創建物理副本,所以我只需在工作區中爲每個目標Jamfiles創建一個單獨的eclipse項目。在CDT 6中,如果您添加鏈接的文件夾而不是導入源,它也可以工作。

+0

在不允許創建引用的CDT 6上:實際上,您可以創建鏈接到其他位置的文件夾。您還可以將現有項目從自定義路徑(鏈接)導入到工作區中。 – Vanuan 2011-03-15 20:33:20

+0

由於Jam構建系統足夠強大,能夠同時構建所有項目,因此創建單獨的構建配置也可能沒有意義。 – Vanuan 2011-03-15 20:45:01

+0

關於獨立構建:它取決於您的工作流程和源代碼樹。例如,如果有幾個兄弟項目是當前項目的一部分,並且您現在將注意力集中在當前的項目上,則可能需要將構建範圍限制爲它。關於將文件夾鏈接添加到CDT項目中,這是一個好主意,它似乎工作。我會用它更新我的答案。 – Krit 2011-03-15 20:53:10