2011-12-13 30 views
3

私はlinuxでAwesomiumを使用していますが、SDKは共有ライブラリ(libawesomium-1.6.3.so)のみを提供しています。私のマシン上のいくつかのライブラリがAwesomiumが必要とするものよりも低いバージョンを持っている:私はg++ -lawesomium-1.6.3 ...でコンパイルしていたときに共有ライブラリ:バージョン情報がありません

$ ldd libawesomium-1.6.3.so 

libawesomium-1.6.3.so: /usr/lib/libjpeg.so.62: no version information available 
(required by libawesomium-1.6.3.so 

だから私は以下のようなエラーが発生します:

libawesomium-1.6.3.so: undefined reference to '[email protected]_6.2' 

私が知っているJPEGライブラリが解決する更新問題。しかし、私はLinuxマシンでroot権限を持っていません。

したがって、awesomium-1.6.3.soを使用するための新しいlibjpeg.soへの相対パスを指定する方法があるかどうかは疑問です。

アップデート(回答にコメントすることはできません):

/usr/bin/ld: warning: libjpeg.so.62, needed by libawesomium-1.6.3.so, may conflict 
with libjpeg.so.8 

そしてコンパイルはまだ失敗:

私は、次のような警告が現れ、-L/path/to/new/libjpeg.8 -ljpegフラグを追加しようとしました。問題は、libjpegが間接的にlibawesomiumによって参照されていて、直接私のコードではないと思います。

答えて

0

-Lオプションを使用してください。しかしの前に、-ljpegの前にそれを使用してください!

+0

が機能しない、質問の更新をご覧ください –

0

コンパイル時に-Lオプションを使用すると、fgeと表示されます。しかし、それを実行するには、ライブラリへのパスをLD_LIBRARY_PATH環境変数に追加する必要があります(§3.3.1here参照)。

関連する問題