簡體   English   中英

無法在運行時鏈接libboost解決方案

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM