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 all
aaa.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 all
しmake 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を設定するのを手伝ってもらえますか? どんなコメントでも大歓迎です。