seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

gccでスタティックライブラリを創る。

linuxのスタティックライブラリは「lib*.a」という名前でなければならない。

  • スタティックライブラリの作成
cd lib
gcc -c ../src/my_static_lib.c
ar rsv libmystaticlib.a my_static_lib.o

コンパイルはオブジェクトの構築のみ。リンクはしない。
それを ar でアーカイブ化する。
オプションの r は追加、又は更新、 s は索引の作成。v は詳細メッセージの表示。
アーカイブ名「libmystaticlib.a」がライブラリ名となる。

  • クライアントとのリンク
gcc client.c -Llib -lmystaticlib

ライブラリの位置を -L で指定し、-l でライブラリ名を指定するだけでok.