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