我正在Linux中使用Awesomium,SDK仅提供了一个共享库:libawesomium-1.6.3.so。我的机器上的某些库的版本低于Awesomium要求的版本:

$ 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

因此,当我使用g++ -lawesomium-1.6.3 ...进行编译时,会出现如下错误:
libawesomium-1.6.3.so: undefined reference to 'jpeg_finish_output@LIBJPEG_6.2'

我知道更新jpeg库将解决此问题。但是我没有linux机器的root权限。

所以我想知道是否有一种方法可以指定要使用的libjpeg.so的新awesomium-1.6.3.so的相对路径。

更新(无法对答案发表评论):

我尝试添加-L/path/to/new/libjpeg.8 -ljpeg标志,出现以下警告:
/usr/bin/ld: warning: libjpeg.so.62, needed by libawesomium-1.6.3.so, may conflict
 with libjpeg.so.8

并且编译仍然失败。我认为问题是,libjpeglibawesomium间接引用,而不是由我的代码直接引用。

最佳答案

使用-L选项。但是在-ljpeg之前使用它!

07-25 22:49