繁体   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