未找到Boost库但编译正常

时间:2013-08-20 02:14:40

标签: c++ boost boost-filesystem

我正在尝试使用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

2 个答案:

答案 0 :(得分:4)

尝试在执行前添加目录。例如: LD_LIBRARY_PATH="/usr/local/lib/" ./Analyse.o

答案 1 :(得分:0)

我在最近安装了boost后遇到了这个问题。就我而言,解决方案就是简单地运行

sudo ldconfig

解释是系统保留已安装的共享库的缓存(位于/usr/lib/lib/usr/local/lib)。更改库或添加新库时,在运行ldconfig之前不会更新缓存。有关详情,请参阅ldconfig manual