2

Cygwin makeを使用して、CMDプロンプトで簡単なmakefileが正常に動作します。しかし、Eclipse CDT で Make Target を呼び出すと問題が発生します。

私のメイクファイルの内容は次のとおりです。

all: aaa

aaa: bbb.o
    cc -o aaa.exe bbb.o

bbb.o: bbb.c
    cc -c bbb.c

clean:
    rm -f *.exe *.o

CMD では、make allaaa.exe をビルドして生成し、生成されmake cleanた EXE ファイルを消去します。

使用する make コマンドは from {myCygwinFolder}\bin\make.exe. which makeこれは、CMD で確認できます/usr/bin/make。また、Cygwin パスがシステム PATH に追加されます。

しかし、標準の Make C プロジェクトをセットアップしようとすると、うまくいきmake cleanません。実際、私は自分のプロジェクトに 2 つの Make ターゲットをセットアップmake allmake cleanました。どちらを実行しても、常に次のエラーが発生しました。

Error launching builder (make all )
(Exec error:The system cannot find the file specified.
)

また

Error launching builder (make clean)
(Exec error:The system cannot find the file specified.
)

オンラインで検索していくつか試してみたところ、Eclipse がビルダー/メイクを適切に見つけられなかったようです。

そこで、プロジェクト プロパティの [ビルダー] タブに移動し、{myCygwinFolder}\bin\make.exe.

この修正により、 Make Target でコンパイルできるようになりますmake all。しかし、 Make Target でコンパイルするとmake clean、Eclipse は引き続き Make Target を実行しようとしますmake all

クリーン セクションをメイクファイルの先頭に移動すると、両方の Make Target がすべて実行されますmake clean。all/clean タグが Cygwin の make に正しく渡されていないようで、Eclipse は makefile で最初のタスクを作成するだけです。

Eclipse でのプロジェクト構造のセットアップは次のとおりです。

ProjectRoot
  |__folderA
       |__makefile
       |__bbb.c
       |__*.*
  |__folderB

誰でもEclipseで正しいMake Targetを設定するのを手伝ってもらえますか? どんなコメントでも大歓迎です。

4

1 に答える 1