私は正常にリンクできますlibawesomium-1.6.5.so
:
-L-L.
-L-lawesomium-1.6.5
-L-ldl
libawesomium-1.6.5.so
実行可能ファイルと同じディレクトリにあります。プログラムを呼び出そうとすると(今のところprogと呼びます)、次のように存在します:
./prog: error while loading shared libraries: libawesomium-1.6.5.so.0: cannot open shared object file: No such file or directory
libawesomium-1.6.5.so.0
を指すシンボリックリンクを作成しlibawesomium-1.6.5.so
、再度実行prog
すると同じエラーが発生し、カスタムLD_LIBRARY_PATH=./
作品で呼び出しますが、配布prog
したいので、ユーザーがprog
ルート権限なしで使用できるようにしたい (awesomium をインストールする/usr/lib
など) とを設定する必要はありませんLD_LIBRARY_PATH
。1つのオプションは、を設定するシェルスクリプトですがLD_LIBRARY_PATH
、別の方法を好むでしょう(設定LD_LIBRARY_PATH
は悪い考えだとも聞きました)。
さらに、 へのシンボリックリンクを作成する必要がなかったら素晴らしいことlibawesomium-1.6.5.so.0
です。
編集:
-rpath=.
リンカーに渡すとうまくいきます!しかし、残念ながら awesomium はそれを処理できません:
/.../awesomium_test/AwesomiumProcess: error while loading shared libraries: libawesomium-1.6.5.so.0: cannot open shared object file: No such file or directory
-rpath を使用し、prog 内から LD_LIBRARY_PATH を設定すると動作します