ライブラリを使ってプログラムを実行するたびに、これらの4つのコマンドをターミナルで実行する必要があります。ライブラリのMakefile
行が
cc -m32 -c mylib.c
ar -rcs libmylib.a mylib.o
cc -m32 -c prog.c
cc -m32 prog.o -L. -lmylib
./a.out
は、どのように私は上記のコマンドのためのメイクファイルを作成し、それを実行しますしていますか? 詳細な手順を理解できます。ありがとう。
編集:ここでは は、ソリューションです:
a.out: prog.o libmylib.a
cc prog.o -L. -lmylib
prog.o: prog.c mylib.h
libprint_int.a: mylib.o
ar -rcs libmylib.a mylib.o
print_int.o: mylib.c mylib.h
clean:
rm a.out prog.o libmylib.a mylib.o
私はスペースの代わりにタブを使用するので、これは2行目にエラーが発生しました。 http://www.gnu.org/software/make/manual/make.html#Overview
は基本的にあなたがターゲットを作成する必要がありますし、それだけであなたのコマンドを置く:
ここに少し冗長性があります。静的ライブラリでは '.o'ファイルを最初に' .a'ファイルに詰め込むのではなく、アプリケーションに直接リンクするだけで同じ結果が得られます。静的ライブラリは結局、結びついた '.o'ファイルの束にすぎません。 –