Eclipse 3.5 Galileo + CDT + cygwinで
Eclipse 3.5 Galileo + CDT + cygwinで、CやC++のプログラムを作りたいと考えています。
しかし、ビルドが通らず、困っています。
行った作業手順は、以下の通りです。
(1)まず、下記サイトを参考に、簡単なCプログラムを作りました。
http://www.c.csce.kyushu-u.ac.jp/~seiichirou/wiki/index.php?Makefile%A4%CE%BD%F1%A4%AD%CA%FD
----以下、作成したプログラム----
/* hello.c */
#include <stdio.h>
void edajima(void);
int main(int argc, char* argv[]) {
edajima();
return 0;
}
/* edajima.c */
#include <stdio.h>
void edajima(void);
void edajima(void) {
printf("わしが男塾塾長 江田島平八である!!\r\n");
}
----プログラムここまで----
(2)そして、Makefileを以下のように作成しました。
----以下、Makefile----
# Makefile
CC = gcc
CXXFLAGS = -O2 -g -Wall -fmessage-length=0
OBJS = edajima.o hello.o
LIBS =
TARGET = hello.exe
$(TARGET): $(OBJS)
$(CC) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET)
hello.o: hello.c
$(CC) -c hello.c
edajima.o: edajima.c
$(CC) -c edajima.c
clean:
rm -f $(OBJS) $(TARGET)
----Makefileここまで----
(3)次に、EclipseでCのMakefileプロジェクトの作成をしました。
ロケーションは、上記ソースやMakefileがあるディレクトリを指定しました。
(4)Eclipseのプロジェクトエクスプローラで、Makefileを右クリックし、[Makeターゲット]-[作成]
でMakeターゲットを作成しました。
(5)Makefileを右クリックし、[Makeターゲット]-[ビルド]を実行すると、下記エラーが出て、
ビルドに失敗しました。
make hello
gcc -c hello.c
gcc hello.o -o hello
hello.o:hello.c:(.text+0x17): undefined reference to `_edajima'
collect2: ld returned 1 exit status
make: *** [hello] Error 1
どうやら、edajima.cがコンパイルされていない様です。
cygwin上でmakeコマンドを実行すると、ビルドできるので、Makefileは間違っていないと思っているのですが・・・。
どなたか、分かる方、ご教授願います。