我正在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
并且编译仍然失败。我认为问题是,
libjpeg
由libawesomium
间接引用,而不是由我的代码直接引用。 最佳答案
使用-L
选项。但是在-ljpeg
之前使用它!