サポート作成するヘルプ:私はあなたには、いくつかのファイルが含まCプログラムを持っており、以下のようにいくつかのいずれかが、いくつか他の人によって構成されているMakefileの
----------------------------------------
File | Included files
----------------------------------------
main.c | stdio.h, table.h
----------------------------------------
list.c | list.h
----------------------------------------
symbol.c | symbol.h
----------------------------------------
table.c | table.h
----------------------------------------
table.h | symbol.h, list.h
----------------------------------------
を、メイクファイルを作成するために私を助けてあなたに感謝して下さいとても! これは私のMakefileですが、問題はありますか?誰がこれらの問題をデバッグできますか、ありがとう!
hello: main.o list.o symbol.o table.o
gcc -o hello main.o list.o symbol.o table.o
main.o: main.c table.h symbol.h list.h
gcc -c -o main.o main.c
list.o: list.c list.h
gcc -c -o list.o list.c
symbol.o: symbol.c symbol.h
gcc -c -o symbol.o symbol.c
table.o: table.c table.h symbol.h list.h
gcc -c -o table.o table.c
clean:
rm hello *.o
あなたの与えられたメイクファイルとの具体的な問題は、あなたがすべてにリンクしていないということです。
hello: main.o table.o
gcc main.o table.o -o hello
main.o: main.c table.h
gcc -c main.c
table.o: table.c table.h
gcc -c table.c
symbol.o: symbol.c symbol.h
gcc -c symbol.c
list.o: list.c list.h
gcc -c list.c
clean:
rm hello *.o
paxが良いスタートを与えてくれても、彼の例はまだ仮定(つまり、 'main'実行可能ファイルはすべてのソースから関数を呼び出す)に基づいて構築されています。依存関係がはるかに複雑なので、彼の例は完全に間違っているかもしれません。 – KevinDTimm
あなたが使用しているもの(GNU、BSDなど)を知っていれば、単純化される可能性があります。 また、list.oはどこかにリンクされているはずですか? – ctuffli