2014-10-05 91 views
0

我最近開始使用Eclipse CDT來開發C++應用程序。 我下載了Eclpse Kepler CDT軟件包,並且它正常打開,但是當我創建了一個簡單的Hello World應用程序時,即使在構建項目之後,我仍然收到「未找到二進制文件」錯誤。Hello World項目不會編譯

生病告訴你什麼是我的控制檯顯示

19:54:11 **** Incremental Build of configuration Debug for project HelloWorld **** 
make all 
Building file: ../src/HelloWorld.cpp 
Invoking: GCC C++ Compiler 

g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/HelloWorld.d"-MT"src/HelloWorld.d" -o "src/HelloWorld.o" "../src/HelloWorld.cpp" 

cc1plus: error: to generate dependencies you must specify either -M or -MM 
make: *** [src/HelloWorld.o] Error 1 

19:54:11 Build Finished (took 106ms) 

我試圖運行程序與2個工具鏈交叉GCC和Linux GCC。

難道有人能告訴我最新出錯嗎?

+0

你使用什麼編譯器版本?你可以將你的makefile的內容添加到問題中嗎?正如所給出的那樣,編譯文件的指令似乎可以很好地處理* MinGW w64 4.9.1 *以及* g ++ 4.7.3 *。作爲旁註,'-MF'和'-MT'標籤之間似乎有一處空白,但這似乎不是您錯誤的原因。 – 2014-10-05 13:52:30

+0

我的編譯器版本是4.5.1。 make文件是默認由eclipse生成的標準文件。 請問您可以告訴我如何添加-M或-MM選項,以eclipse; s大廈參數? 謝謝 – 2014-10-05 14:19:02

+0

據我所知,你不應該。 '-MMD'應該很好。我有很長一段時間沒有使用Eclipse,因爲我很虐待,更喜歡製作自己的Makefiles。但是,要添加命令行選項,可以轉到* Project - > Properties - > C/C++ Build - > Settings - > Tool Settings - > Compiler - > Miscellaneous *並添加'-M'或'-MM'到*其他標誌*。請參閱[此屏幕截圖](https://dl.dropboxusercontent.com/u/15706998/SO/26203032/settings.png)。 – 2014-10-05 15:24:23

回答

0

測試了一堆不同的編譯器,在OP中給出的命令似乎工作得很好。這似乎是真實世界不同於應該是的情況。

解決方案是做什麼編譯器告訴我們要做什麼,即添加-M-MM標誌。

要做到這一點,頭項目 - >屬性 - > C/C++編譯 - >設置 - >工具設置 - >編譯器 - >其他並添加-M-MM其他標誌

下面的圖片說明了這一點:

Screenshot of settings in Eclipse.

作爲一個側面說明,有-MF標誌和-MT標誌之間缺少空間,但這並不似乎是問題的原因。