
Ubuntu日本語フォーラム

ログインしていません。
makeコマンドを使って分割コンパイルしようとしたら下記ののようになりできません。
makeのためのパッケージがインストーされてないのが原因でしょうか?それとも、ソースファイルに原因があるのでしょうか?
使っているのはubuntu9.04です
~/prog3/C3$ ls
Makefile Q1_kensaku.c Q1_main.o Q1_soat.c~ Q1_zyouhou.h
Makefile~ Q1_kensaku.c~ Q1_sakuzyo.c Q1_soat.o Q1_zyouhou.h~
Q1_henkou.c Q1_kensaku.o Q1_sakuzyo.c~ Q1_touroku.c a.out
Q1_henkou.c~ Q1_main.c Q1_sakuzyo.o Q1_touroku.c~ example.c
Q1_henkou.o Q1_main.c~ Q1_soat.c Q1_touroku.o example.c~
bbbstar-laptop:~/prog3/C3$ make
gcc -c Q1_main.c
gcc -c Q1_touroku.c
Q1_touroku.c: In function ‘touroku’:
Q1_touroku.c:21: 警告: format ‘%d’ expects type ‘int *’, but argument 2 has type ‘int’
gcc -c Q1_soat.c
gcc -c Q1_kensaku.c
Q1_kensaku.c: In function ‘kensaku’:
Q1_kensaku.c:26: 警告: format ‘%d’ expects type ‘int *’, but argument 2 has type ‘int’
gcc -c Q1_henkou.c
Q1_henkou.c: In function ‘kensaku’:
Q1_henkou.c:31: 警告: format ‘%d’ expects type ‘int *’, but argument 2 has type ‘int’
gcc -c Q1_sakuzyo.c
gccmain.o touroku.o soat.o kensaku.o henkou.o sakuzyo.o -o datacomp
make: gccmain.o: コマンドが見つかりませんでした
make: *** [datacomp] エラー 12
オフライン
makefileの内容がおかしい可能性があります。linkする際に、コマンド名がどこにもありません。
正常に動くことが確認されている(実績がある)mafkefileですか?もし、動作実績の無いものでしたら、内容を全て掲載することで、だれか確認してくれるかもしれません。
オフライン
makefileの内容です
OBJS=main.o touroku.o soat.o kensaku.o henkou.o sakuzyo.o
CC=gcc
datacomp:$(OBJS)
$(CC)$(OBJS) -o datacomp
main.o:Q1_main.c Q1_zyouhou.h
$(CC) -c Q1_main.c
touroku.o:Q1_touroku.c Q1_zyouhou.h
$(CC) -c Q1_touroku.c
soat.o:Q1_soat.c Q1_zyouhou.h
$(CC) -c Q1_soat.c
kensaku.o:Q1_kensaku.c Q1_zyouhou.h
$(CC) -c Q1_kensaku.c
henkou.o:Q1_henkou.c Q1_zyouhou.h
$(CC) -c Q1_henkou.c
sakuzyo.o:Q1_sakuzyo.c Q1_zyouhou.h
$(CC) -c Q1_sakuzyo.c
clean:
rm -f $(OBJS)
オフライン
原因箇所
bbbstar による投稿:
datacomp:$(OBJS)
$(CC)$(OBJS) -o datacomp ←
## 開発関連のスレッドに投稿した方が良いかも...
最後の編集者: si (2009-05-14 13:01:44)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
$(CC)と$(OBJ)の間にスペースがないためにコンパイルできなかったようです。
どうもありがとうございました。
オフライン