初めての共有ライブラリ
Cプログラムの共有ライブラリのリンク関係で困った。shared library。
共有ライブラリは、
1、コンパイル時にリンクを張って
2、実行時にあらかじめ指定されたパスから探す
Cのプログラムをgccでコンパイル時に、共有ライブラリにリンクを張る方法
gcc -L'ディレクトリ' -l'ファイル' 例 $gcc cvsample.c -o cvsample -L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux
実行時に、ライブラリが見えているか確認
$dll cvsample
見えてなかったら、そのライブラリまでのパスを通す。
一時的な方法
$export LD_LIBRARY_PATH=/usr/local/lib 確認 $echo $LD_LIBRARY_PATH
または、/etc/ld.so.confに書く
Ubuntuにはld.so.confが無いので、作成する。
$ sudo vi /etc/ld.so.conf 確認 $ cat /etc/ld.so.conf /usr/local/lib $ sudo /sbin/ldconfig -v #リンクの結合関係を決定する