3

CDT がインストールされた Eclipse 3.7.2 を実行しています。Ubuntu 12.04 LTS。

Geany からインポートしようとしている既存の makefile C++ プロジェクトがあります。$ makeプロジェクトのルート ディレクトリで実行でき、すべてが期待どおりにビルドされます。

Eclipse での私のエラー:

make: *** ターゲットを「すべて」にするルールはありません。止まる。

私の質問: このエラーを解消するにはどうすればよいですか?

私が取っている正確な手順は次のとおりです。

  1. ファイル>新規>既存のコードを含むMakefileプロジェクト。
    • プロジェクトのルート ディレクトリに設定された既存のコードの場所。
    • C++ に設定された言語
    • Cross GCC に設定されたツールチェーン
  2. [プロジェクト プロパティ] > [C/C++ ビルド...] で
    • ビルダー設定で...
      • デフォルトのビルド コマンドの使用
      • Makefile の自動生成を使用しない (使用不可)
    • 振る舞いで...
      • ビルド (インクリメンタル ビルド) の使用 << すべて
      • Clean << clean の使用

Eclipse CDT: ターゲットをすべて作成するルールは、私が修正しようとしている問題の答えに近づくことはありませんが、OP と同じ問題があります: makefile を自動的に生成することはできません。

makeを試してみました: *** ターゲットを「すべて」にするルールはありません。止まる。Eclipse エラーの最高評価のソリューションでもあります。ただし、Build (Incremental Build) オプションのチェックを外すと、build はまったく何もしないので、これも正しくありません。

4

1 に答える 1

7

私はちょうど解決策を考え出しました。いつものように、それは明らかだったはずです。

make: *** ターゲットを「すべて」にするルールはありません。止まる。Eclipse errorの最高評価の回答は順調でしたが、少しあいまいでした。解決策は次のとおりです。

  1. [プロジェクト プロパティ] > [C/C++ ビルド] > [動作] タブに移動します...
  2. ビルド (インクリメンタル ビルド) を有効のままにする
  3. テキスト ボックスから「すべて」を削除します。

デフォルトでターゲットとして指定されている「all」をビルドするルールを Eclipse が見つけようとしたため、エラーがスローされていました。

「すべて」を削除する (そして他のすべてをデフォルトのままにする) と$ make、端末から呼び出すのとまったく同じ方法でプロジェクトをビルドするように Eclipse に指示します。

これらのステートメントのいずれかで大幅に間違っている場合は、遠慮なく訂正してください。

于 2013-06-19T20:01:09.720 に答える