加载boost的共享库时出错

我正在研究centos。 我在我的系统上安装了boost版本1.45.0。 程序编译正确,但每当我键入命令来看到输出它给出以下错误:

./a.out:加载共享库时出错:libboost_thread.so.1.45.0:无法打开共享目标文件:没有这样的文件或目录

Solutions Collecting From Web of "加载boost的共享库时出错"

你是如何安装boost库的?

您可能遇到的问题是链接程序找不到这些库,并且在生成程序时,必须手动指定其他库路径才能搜索库。

你可以做的一个快速解决方案是设置LD_LIBRARY_PATH以包含boost线程库所在的目录:

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

./runExecutable

除了其他答案之外,您还可以在链接可执行文件时设置DT_RPATH elf标记

 -Wl,-rpath,/path/to/boost/libraries -L /path/to/boost/libraries -lboost_whatever 

这样,如果库安装在非标准位置,则不必记住设置LD_LIBRARY_PATH

您需要设置LD_LIBRARY_PATH环境变量以包含Boost库(它们可能位于/usr/local/lib等)的路径。

在bash中,这很简单

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