(自作)動的ライブラリのリンク方法
調べたら何通りか方法があるようなので忘れないようにメモしておく。
自作ライブラリの名前は libhoge.so としてカレントディレクトリにあるとする。
- 1 直接ファイルを指定
gcc program.c ./libhoge.so -o program
- 2 -L, -l, -Wl,-rpath オプションを使う
gcc program.c -L. -lhoge -Wl,-rpath . -o program
- 3 LD_LIBRARY_PATH を設定して -L, -l オプションを使う
.zshrc などに以下を記述しておく。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
gcc program.c -L. -lhoge -o program
- 4 システムのパスの通ったところにシンボリックリンクを張る(あるいは直接ファイルを置く) -l オプションのみになる
たとえば /usr/local/lib に libhoge.so のシンボリックリンクを張ったとする。コンパイルは
gcc program.c -lhoge -o program