[英]Can't link libboost solution on running time
我在/usr/local/boost_1_55_0
boost_1_55_0下安裝了boost_1_55_0,並在我的makefile
中將鏈接標志設置為:
CC = g++
CFLAGS = -I ./ -I/usr/local/boost_1_55_0 -w -std=c++11
LFLAGS = -L./ -lm -lpthread -L/usr/local/boost_1_55_0/lib -lboost_regex
在編譯期間我什么也沒遇到,但是我得到了:
./$(exec):加載共享庫時出錯:libboost_regex.so.1.55.0:無法打開共享庫文件:沒有這樣的文件或目錄
我敢肯定,我已經清理了所有舊文件並再次進行了編譯,我還通過sudo chmod -R +x /usr/local/boost_1_55_0
授予了讀取usr/local/boost_1_55_0
文件的權限,以防萬一我禁止讀取。 但是,我仍然遇到此錯誤。 我還嘗試將boost_1_55_0
移動到/usr/lib/
但是它也不起作用。
我也讀過這個問題: 使用boost編譯問題,並在此問題下嘗試了兩種解決方案,但是它們都不適合我。 有人可以找出其他解決方案嗎?
錯誤提示,您的可執行文件無法找到共享庫。 將boost構建過程生成的.so文件(或所有它們,如果您希望安全)添加到生成程序可執行文件的目錄中,然后嘗試再次運行該程序。
我手動清理了可執行文件並再次對其進行了編譯,從而以某種方式解決了我的問題。 我猜想我的系統中一定有一些配置被弄亂了,這樣可執行文件將無形地鏈接到一些過時的目錄並導致此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.