2011-09-13 164 views
0

我是C++初學者。我有一個使用現有make文件構建的C++項目。我有一個從/ usr/local/lib鏈接的庫。構建是成功的,但是當我運行它時,它抱怨我連接了form/usr/local/lib的庫。如果我將該庫複製到/ lib64並運行我的程序,一切都很好。請讓我知道我應該怎麼做才能避免這個錯誤。謝謝。加載共享庫時出錯

錯誤而載入共享庫:libactivemq-cpp.so.14:不能 打開共享對象文件:沒有這樣的文件或目錄

+1

你是什麼'LD_LIBRARY_PATH'環境變量的內容? –

+0

我設置了LD_LIBRARY_PATH並解決了任何問題。謝謝。 – M99

回答

2

如奧利解釋,你可以設置LD_LIBRARY_PATH,但你可以也永久安裝庫,即使它不在標準目錄之一。開始於

man ldconfig 

這是非常重要的,你知道這是怎麼回事。

  • 在默認情況下(即除非你做的東西),只在信任的目錄(/lib/usr/lib)庫將有所回升。我有沒有可用的運行64位系統,但我猜這些目錄將與64,如果你想ldconfig來拿起其他顯示目錄庫,添加論文目錄後/etc/ld.so.conf
  • 爲後綴,運行ldconfig -v並檢查他們是否實際上得到回升

而且你將所有設置:-)