web-dev-qa-db-ja.com

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

Windows用のEclipse CDT開発キット(87MB)をダウンロードしました。 MinGWとmsysもインストールしました。また、これをPATHに追加しました:C:\ msys\1.0\bin; C:\ mingw\bin。その後、コンピューターを再起動しました。 cmdで「make --version」と入力して確認しましたが、動作します。

ただし、何らかの理由でCプロジェクトをコンパイルできません。バイナリファイルを取得せず、COnsoleで次のもののみを取得しました。

**** Build of configuration Default for project XXX ****

make all 
make: *** No rule to make target `all'.  Stop.

誰かがこれを手伝ってくれますか?

18
chepukha

将来の参照のために、メイクファイルを使用して既存のプロジェクトをインポートしようとしている場合...

メイクファイルに「すべて」のルールがない場合、このメッセージは引き続き表示されます。 「Makefilesを自動的に生成」オプションを使用すると、これが自動的に処理されます。メイクファイルを作成したくない場合は、少なくとも3つの簡単なオプションがあります...

オプション1

その名前のルールを使用したくない場合は、twokatsのソリューションを使用してください。ここに説明があります。

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

これにより、「all」と呼ばれるmakeターゲットを使用しようとしていないことがEclipseに認識されます。何らかの理由で、それがデフォルトです。

オプション2

Etiennebrのmakefileに似たものを使用してください。 all: $(TARGET)行は、Eclipseが見つけられないと文句を言っているルールです。

オプション

「all」を任意のルール名に置き換えて、メイクファイルにそのルールを含めるようにしてください。

10
drmuelr

参考までに、CDTビルドオプションを構成する方法があります。これと同じエラーメッセージが表示されました(ただし、 した makeターゲットがあります-「all」という名前ではありません)、このソリューションが見つかりました(Galileo + CDTの場合):

プロジェクトを右クリックして選択します プロパティ。 [プロパティ]ダイアログが表示され、 C/C++ビルド 特定のビルドオプションを設定できるオプション。この項目を強調表示すると、[プロパティ]ページが表示されます。変更する構成を選択すると、下のセクションに2つのタブが表示されます。 ビルダー設定 そして 動作。それは 動作 必要なタブ。このセクションでは、ターゲット名(デフォルトは「すべて」)の指定や自動ビルドの無効化など、ビルド設定とワークベンチ設定の設定を行うことができます。

CDTを使い始めたとき、これは非常に役に立ちました。私のソースコードはビルドエリアとは別のものであり、構成するまでメイクファイルは存在しません。構成すると、デフォルトのターゲット名は「すべて」ではなく「デフォルト」になります。何かをする前に、Eclipseにプロジェクトのエラーを報告させるのは面倒でした。私の開発に合わせて環境を設定することは驚くほどうまくいきました。 HTH。

6
twokats

プロジェクトのプロパティ-> C/C++ Buildを右クリックし、「Builder設定」で「Makefilesを自動的に生成する」オプションをチェックし、「ビルダータイプ」オプションを選択して「内部ビルダー」を選択し、[OK]をクリックします。解決しました!

5
user2913643

メイクファイルを確認する必要があります(見つからない場合は作成します)。それがデフォルトのメイクファイルです:

CXXFLAGS =  -O2 -g -Wall -fmessage-length=0
OBJS =      main.cpp
LIBS =
TARGET =      main.exe

$(TARGET):  $(OBJS)
    $(CXX) -o $(TARGET) $(OBJS) $(LIBS)
all:    $(TARGET)
clean:
    rm -f $(OBJS) $(TARGET)
2
Etienne Racine

このエラーに多くの時間を費やしましたが、MinGWとmsysをインストールする前にコンパイルされていないプロジェクトが作成されているため、以前にメイクファイルがなかったことに気付きました。また、メイクファイルへのリンクを含むインクルードフォルダーはありませんでした。それが私がコンパイルできなかった理由です。これで、新しいプロジェクトを作成するので問題ありません。

しかし、以前のプロジェクトのメイクファイルにパスを追加する方法はあるのでしょうか?

ありがとう

2
chepukha