2017-03-28 42 views
0

/usr/local/boost_1_55_0下安裝boost_1_55_0,在我makefile我設置鏈接標誌爲:無法鏈接libboost解決方案上運行的時間

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:無法打開共享對象文件:沒有這樣的文件 或目錄

我很確定我清理了所有舊文件並重新編譯,我還授權訪問usr/local/boost_1_55_0sudo chmod -R +x /usr/local/boost_1_55_0以防萬一我禁止讀取。但是,我仍然有這個錯誤。我也試圖在/usr/lib/中移動boost_1_55_0,但它也不起作用。

我也看到了這個問題:Compiling issue with boost,並在這個問題都嘗試解決方案,但他們都沒有爲我工作。有人可以找出不同的解決方案嗎?

回答

0

我手動清除可執行文件並再次編譯它,它在某種程度上解決了我的問題。我猜測我的系統中必須有一些配置搞砸了,這樣可執行文件纔會無形地鏈接到一些過時的目錄並導致這個問題。

0

如錯誤所示,您的可執行文件無法找到共享庫。將由boost構建過程生成的.so文件(或者所有這些文件,如果您想要安全)添加到生成程序可執行文件的同一目錄中,然後再次運行該程序。

+0

這實際上沒有幫助。 –

相關問題