2010-11-09 83 views
5

我使用cdt/mingw在Windows上編譯。我喜歡免費編譯警告。我收到以下警告:如何更改eclipse中的內置工具鏈cdt mingw32

auto-importing has been activated without --enable-auto-import specified 
on the command line. 

以下頁面建議處理它的方法是將該選項添加到ld的命令行。

4.8 ld and WIN32 (cygwin/mingw)

的問題是這樣,你怎麼更改內置的工具鏈默認的命令行開關?

我也想設置gcc的警告等級。

回答

1

你必須通過gcc的-Wl parameter發送參數鏈接:

-Wl選項

選項作爲一個選項給連接器。如果選項包含逗號, 它將分割爲多個選項,其中逗號爲 。您可以使用此語法將 傳遞給該選項。例如,對於 示例,-Wl,-Map,output.map-Map output.map傳遞給鏈接器。當使用GNU鏈接器的 時,您也可以使用 與 -Wl,-Map=output.map獲得相同的效果。

所以,你需要(也是我:) :) -Wl,--enable-auto-import。請參閱official docs

+1

實際上傳遞選項直接給連接器是完全沒問題,反正這不回答這個問題:現在的問題是這樣,你怎麼更改內置的工具鏈默認的命令行開關?在項目基礎上查看我自己的答案以獲得部分解決方案。 – nus 2010-11-23 13:42:12

+1

啊,對不起,我維護自己的Makefile(而不是讓Eclipse生成一個),所以我有點跳過了你應該添加'-Wl,-Map,output.map'的部分,例如變量' CXXFLAGS' - GNU make使用它隱含的鏈接規則(您可以通過'make -p'查看完整列表)。 – 2010-11-30 08:42:00

1

嗨,到目前爲止,我已經找到了解決這個問題的部分方案。我還沒有找到我如何更改默認工具鏈選項,但我發現如何在項目基礎上更改它們。

項目 - >屬性 - > C++ - 建設 - >設置

這似乎更有意義,如果它會在工具鏈編輯,但事實並非如此。

有你有一個名爲工具設置並尋找選項卡下有MinGW的C++連接器 - >其他

在這裏您可以添加額外的鏈接器選項。上面你也有編譯器和警告設置實現爲複選框,這是很好的。

到目前爲止,至少我已經開始了,只有可惜我必須爲每個項目單獨做這件事。

哦,爲了更進一步的混淆,這並不總是存在,並且我安裝了MinGW之前的一些舊項目,因此沒有安裝真正的工具鏈。在這種情況下,設置窗格只有二進制解析器錯誤解析器選項卡,因此它看起來完全不同。祕訣在於擁有工具設置選項卡。非常動態,對於eclipse的設置對話框等雨林也非常混亂。

alt text