2011-12-13 61 views
3

我在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 '[email protected]_6.2' 

我知道更新JPEG庫將解決問題。但是我在linux機器上沒有root權限。

所以我想知道是否有一種方法來指定一個新的libjpeg.soawesomium-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間接引用,而不是直接由我的代碼引用。

回答

0

使用-L選項。但使用之前-ljpeg

+0

無法正常工作,請參閱問題更新 – 2011-12-14 18:30:05

0

編譯時,使用-L選項爲fge表示。但要運行它,您必須將路徑添加到您的庫到LD_LIBRARY_PATH環境變量(請參閱§3.3.1here)。