2012-01-15 44 views
1

我建立一個Unix下C++程序調用升壓缺失,但是當我嘗試運行它,我得到固定升壓共享庫,在linux

error while loading shared libraries: libboost_filesystem.so.1.42.0: cannot open shared object file: No such file or directory. 

我沒有用之前得到這個錯誤(即使我已經在打電話了),但我不知道是什麼觸發了這個變化。無論如何 - 在二進制文件上執行ldd,它確實表明庫缺失。

我想解決方案是在LD_LIBRARY_PATH中添加一個鏈接到包含.so文件的庫 - 但我找不到它。它應該在哪裏?這是正確的解決方案嗎? 請注意,我沒有sudo privelages在我的電腦上,所以我只能更改用戶設置 - 而且我是一個linux新手,所以請嘗試解釋簡單...

回答

1

我認爲問題在於你已經鏈接到一個非常具體的Boost版本(在這種情況下是1.42.0)。只要Boost存在於您的系統上的確切版本中,這種方式就可以工作,但只要升級到更新版本的Boost,就不能再找到鏈接的庫。

您可能想要調整Makefile以鏈接到更通用的版本libboost_filesystem.so