2013-10-25 75 views
0

我編寫了使用tbb庫的C++項目。這個庫鏈接到我的項目,我在項目組設定的路徑到庫中的文件:它的工作在我的電腦上將共享庫鏈接到羣集上的C++項目

Include directories: usr/tbb/include

Libraries: usr/lib/libtbb.so, usr/lib/libtbbmalloc.so, usr/lib/libtbbmalloc_proxy.so

,但是當我嘗試在集羣(通過使用qsub)運行它,我已經出現庫路徑未找到的錯誤。所以我的問題是:當我在集羣上執行程序時,如何指定共享庫的路徑? 只見討論here想跑這種方式

-L/home/dinar/tbb/lib/ia32 -Wl,-rpath,/home/dinar/tbb/lib/ia32 -ltbb ./program 

,但沒有奏效。

+1

的'-L','-Wl'和'-l'標誌*連接*標誌,即您在鏈接程序時使用的標誌。 –

+0

謝謝你的迴應,Joachim。我所做的是:我將tbb軟件包保存在集羣中的用戶目錄中,並嘗試將這些庫鏈接到我的程序。但它不適合我。可能我的可執行應用程序仍然保留我指定用於構建項目的舊庫路徑(我PC上的路徑)。 –

回答

1

您可能想要設置的環境變量爲LD_LIBRARY_PATH

$ LD_LIBRARY_PATH=/home/dinar/tbb/lib/ia32 ./program 
+0

我也試過,我得到的錯誤:./程序:加載共享庫時出錯:libtbb.so.2:無法打開共享目標文件:沒有這樣的文件或目錄 –

+0

@DinarAbdullin而在'/ home/dinar/tbb/lib/ia32'你有一個名爲'libtbb.so.2'的文​​件?你有沒有*任何類似的文件名(可能更多的'.so.2',只有'.so'擴展名)?如果是最後一個,則從'libtbb.so.2.x'(或'libtbb.so')到'libtbb.so.2'建立一個符號鏈接。 –

+0

Joachim,位於/ home/dinar/tbb/lib/ia32我有libtbb.so和libtbb.so.2文件 –