加载boost共享库时出错

3

我正在使用CentOS。我在系统上安装了Boost版本1.45.0。程序编译正确,但每当我输入命令查看输出时,就会出现以下错误:

./a.out: 加载共享库时出错: libboost_thread.so.1.45.0: 打不开共享对象文件:没有那个文件或目录

3个回答

6
除了其他答案之外,当链接可执行文件时,您还可以设置DT_RPATH elf标记。
-Wl,-rpath,/path/to/boost/libraries -L /path/to/boost/libraries -lboost_whatever

通过这种方式,如果库安装在非标准位置,您就不必记住设置LD_LIBRARY_PATH


5

您是如何安装boost库的?

您可能遇到的问题是链接器找不到库,当您构建程序时,必须手动指定其他库路径以搜索库。

您可以快速解决的方法是将LD_LIBRARY_PATH设置为包含boost线程库所在的目录:

export LD_LIBRARY_PATH=/path/to/boost/libs:$LD_LIBRARY_PATH

./runExecutable


3

您需要设置LD_LIBRARY_PATH环境变量,其中包括Boost库的路径(它们可能在/usr/local/lib等位置)。

在bash中,这很简单:

export LD_LIBRARY_PATH=/path/to/boost:$LD_LIBRARY_PATH

1
在tcsh中,设置LD_LIBRARY_PATH为/path/to/boost:$LD_LIBRARY_PATH。 - Akhil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接