2014-03-06 159 views
0

我試圖將存在於/ home/usr/abc文件夾中的共享庫libabc.so鏈接到共享庫libxyz.so。我試圖在創建共享庫之後運行一些示例。是 我的Makefile文件的內容如下:創建另一個共享庫時鏈接共享庫

gcc -L/home/usr/abc/include -Wl,-soname,libxyz.so,-rpath=/home/usr/abc/include -shared -o [email protected] -labc -lm 

當我嘗試使用libxyz.so庫運行任何例子,我得到了libabc.so功能未定義引用錯誤。

編輯:

我也得到了以下警告:

/usr/bin/ld: warning: libabc.so.1, needed by /home/usr/xyz/src/libxyz.so,not found 
(try using -rpath or -rpath-link) 

我是否正確使用rpath的?

回答

0

看起來你忘了實際鏈接到你的圖書館。您需要 加-labc,例如之前的-lm標誌。

+0

我嘗試使用-labc(編輯)鏈接它仍然沒有運氣 – eejs

+0

@Crackej,你的'libabc.so'庫在哪裏?而這個文件叫什麼名字? – nos

+0

我的libabc文件是libjemalloc.so。它存儲在/ home/usr/jemalloc/include文件夾中。 – eejs