我正在尝试使用c ++中的boost文件系统
使用
时似乎编译正常“c ++ -c Analyse.c -o Analyse.o -g -W -Wall -L / usr / local / lib -lboost_filesystem -lboost_system”
但是在尝试执行我的代码时出现以下错误:
“加载共享库时出错:libboost_filesystem.so.1.54.0:无法打开共享对象文件:没有这样的文件或目录”,查找/ -iname“libboost_system.so.1.54.0
我有一些安装提升的问题(我首先安装了1.49然后安装了1.54)所以我想知道2版本之间是否会有任何冲突?
P.S:顺便说一句"find / -iname "libboost_system.so.1.54.0"
给了我以下
/usr/include/boost/boost_1_54_0/bin.v2/libs/system/build/gcc-4.7/release/threading-multi/libboost_system.so.1.54.0
/usr/local/lib/libboost_system.so.1.54.0
答案 0 :(得分:4)
尝试在执行前添加目录。例如:
LD_LIBRARY_PATH="/usr/local/lib/" ./Analyse.o
答案 1 :(得分:0)
我在最近安装了boost后遇到了这个问题。就我而言,解决方案就是简单地运行
sudo ldconfig
解释是系统保留已安装的共享库的缓存(位于/usr/lib
,/lib
,/usr/local/lib
)。更改库或添加新库时,在运行ldconfig
之前不会更新缓存。有关详情,请参阅ldconfig
manual。