読者です 読者をやめる 読者になる 読者になる

(自作)動的ライブラリのリンク方法

C/C++

調べたら何通りか方法があるようなので忘れないようにメモしておく。
自作ライブラリの名前は 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