2012-09-24 38 views
28

我的Eclipse CDT的不斷抱怨「使:***沒有規則,使目標的所有」當我試圖編譯一塊下面的代碼:Eclipse CDT的:沒有規則,使目標的所有

#include <iostream> 
using namespace std; 

int main() { 
    cout << "Hello World!!!" << endl; // prints Hello World!!! 
    return 0; 
} 

任何人知道如何解決這個問題? 我已閱讀與類似標題的帖子: make: *** No rule to make target `all'. Stop. Eclipse error 但沒有這些答案的幫助......

非常感謝!

+0

我剛剛從它的網站下載CDT包,什麼也不做它。其實這個問題甚至在我編輯我的test.cpp之前就存在了。cpp –

+0

你爲項目選擇了什麼樣的工具鏈? – Torsten

回答

31

您需要更改項目設置,以便Eclipse-CDT爲您管理您的Makefiles。

  1. 從菜單欄中選擇Project-> Properties。
  2. 單擊出現的對話框左側的C/C++ Build。
  3. 在右側的Builder Settings選項卡下,在Makefile生成部分下選擇「自動生成Makefile」。
  4. 點擊確定並重新構建。
+26

「自動生成Makefiles」對我來說是陰影! –

+0

user1146300給出的解決方案適用於我。這可能有助於一些失落的靈魂..! LOL – deepdive

+1

如果您使用「包含makefile的現有項目」構建項目,則可以通過取消選中「自動生成makefile」來解決我的問題。現在在家工作的筆記本電腦上,我得到了完全相同的錯誤,但現在無法以任何方式工作。 – JoeManiaci

6

在C/C++ Build - > Builder Settings中,選擇Internal builder(而不是External builder)。

它適用於我。

8
  1. 從菜單欄中選擇Project-> Properties。

  2. 單擊出現的對話框左側的C/C++ Build。

  3. 在右側的Builder Settings選項卡下,檢查並確保「Build location」是正確的。
+0

這是爲我做的,謝謝! – ossys

5

我剛剛解決了這個問題,甚至引用了這個問題。

我假設你還沒有寫出Eclipse所抱怨的「全部」規則。如果是這種情況,請執行以下步驟:

  1. 轉到項目屬性> C/C++ Build> Behavior選項卡。
  2. 離開生成(增量生成)檢查。
  3. 從Build(增量構建)旁邊的文本框中刪除「all」。
  4. 編譯!

這讓Eclipse知道你不是在試圖使用一個名爲「all」的make目標。出於某種原因,這是默認設置。

2

有時,如果您通過make文件製作目標文件,請仔細檢查所有的c文件是否使用正確的文件結構正確命名。

1

項目 - >清潔 - >清潔所有項目,然後項目 - >生成項目爲我工作(我做了自動取消檢查生成製造文件,然後再重新檢查它之前這樣做)。這是通過eclipse Juno中的AVR CDT插件進行的AVR(微處理器編程)項目。

10

儘管Behaviour-> Build(增量構建)選項卡沒有變量,「all」是默認設置。我解決爲

  1. 轉到項目屬性> C/C++生成>行爲選項卡。
  2. 離開生成(增量生成)檢查。
  3. 在Build(增量構建)旁邊的文本框中輸入「test」。
  4. 建設項目。你會看到錯誤信息。
  5. 回到Build(增量構建)並刪除「test」。
  6. 建設項目。
+2

哈哈!這是非常直觀的,但工作! :0 – deepdive

0

如果以上方法不爲你工作這麼 -

可能是因爲你沒有正確安裝C++編譯器封裝,流量這樣的: (說明Win7的,32位/ 64位)

  1. 確保您安裝支持C++編譯器軟件包的正確一個或多個

    (我安裝MinGW的(方法文檔中安裝的視頻可以在YouTube上找到))

    如果您選擇安裝MinGW軟件包:

      從安裝頁面
    • 下載MinGW的安裝上述
    • 運行MinGW的安裝程序,並確保選擇以下軟件包:

      - MinGW的開發者的工具包
      - mingw32的基
      - 的mingw32-GCC- G ++
      - MSYS基

    • 添加MinGW和MSYS bin的路徑到PATH環境變量中,如果你不改變你的廣告應該默認安裝文件夾d:

    C:\MinGW\msys\1.0\bin;C:\MinGW\bin;
    • 註銷,並在確保環境重新登錄
  2. 乏踢在Eclipse中創建一個新的C++項目:

    • 新 - > C++項目
    • 選擇項目類型:可執行文件 - >的Hello World C++項目
      (現在在右邊,工具鏈下,你將看到的MinGW GCC)從工具鏈列表
    • 命中完成
  3. 選擇MinGW的GCC在你的Hello World項目中,你應該看到+ src文件夾,和+包括(如果是這樣,你可能很好走)。

  4. 構建項目
  5. 運行它!
0

重命名和移動源文件後,我得到了同樣的錯誤。所提出的解決方案都不適用於我,並且我將錯誤追蹤爲Debug目錄下的元文件未被更新。刪除整個Debug目錄並重新構建項目解決了我的問題。

2

你有2案件

  • 如果你自己創建的Makefile,去
  1. 選擇項目 - >從菜單欄屬性。
  2. 單擊出現的對話框左側的C/C++ Build。
  3. 禁用自動生成makefile文件 - >在右側的生成器設置選項卡,檢查並確保「生成位置」是 正確的(即位置是你的Makefile)
  • 如果您沒有Makefile文件 - >你需要的Eclipse DS-5可以幫助您從
  1. 選擇項目 - >屬性創建的Makefile菜單欄。
  2. 單擊出現的對話框左側的C/C++ Build。
  3. 啓用產生的makefile自動

我勸你你自己創建的Makefile

+1

「建設地點」提示幫助我。 – MattAPiroglu