私は教師と全体の配置がとても悪いCクラスで課題を持っています。私たちはmakefileについて何も教えていませんでしたが、現在はmd5の実装をコンパイルして使用することになっていますが、その方法を教えたことはありません。私はmakefileについて多くのことを読んだことがありますが、私はまだこれを働かせることはできません。メークファイルの問題
私は、次のファイルがあります。この
- md5.c
- md5.h
- md5_example.c
- md5_test.c
- print_md5.c
を私のメイクファイルです:
CC=gcc
CFLAGS = -g -O0
1: md5_example.o
$(CC) -o md5_example $(CFLAGS) md5_example.o
2: md5.o
$(CC) -o md5 $(CFLAGS) md5.o
3: md5_test.o
$(CC) -o md5_test $(CFLAGS) md5_test.o
4: print_md5.o
$(CC) -o print_md5 $(CFLAGS) print_md5.o
clean:
rm -f *.o md5 md5_example md5_test print_md5
私は取得していますエラーは次のとおりです。
md5_example.c:2:17: fatal error: md5.h: No such file or directory
は、誰かが私が私が一緒にこれらのファイルをコンパイルする方法を考え出し助けてくださいことはできますか?
同じディレクトリにmd5.hとmd5_example.cていますか?このディレクトリにあるmakefileも同じですか?あなたはそこに行って走っていますか? – itdoesntwork
Makefileに '1:'、 '2:'などと言っていることを説明してください。これまでのところ、makefileに 'X:Y'を使用することを理解していないようです。 – Arkadiy
生成されたファイルの名前と一致するターゲットの名前を指定する必要があります。つまり、 '1:md5_example.o'の代わりに' md5_example:md5_example.o'を使います。そして、あなたは[暗黙のルール](https://www.gnu.org/software/make/manual/html_node /Implicit-Rules.html);ほぼすべてのMakefileを自動的に処理することができます。 –