程序使用boost libs编译好,但运行时出错

And*_*ndy 0 c++ eclipse boost redhat

简而言之...

C++程序(使用boost库)在Eclipse中编译很好,但是"加载共享库时出错:libboost_thread.so.1.46.1:无法打开共享对象文件:没有这样的文件或目录"它在运行时显示.


细节

我在C++上运行一个基本程序来检查我是否可以正确使用boost线程库.

#include <boost/thread/thread.hpp>
#include <iostream>

void hello ()
{
    Std::cout<<”Hello, I am a thread”<<std::endl;
}

int main ()
{
    boost::thread th1(&hello);
    th1.join();
}
Run Code Online (Sandbox Code Playgroud)

代码编译得很好,所以我相信我已经正确安装并设置了boost库(添加目录以包含等)

但是,当我尝试运行该程序时,我在consol中收到以下错误消息

error while loading shared libraries: libboost_thread.so.1.46.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

B2F*_*B2F 6

我有一个与FreeFileSYnc非常相似的问题,编译得很好但由于libboost线程错误而无法启动:

FreeFileSync: error while loading shared libraries: libboost_thread.so.1.51.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题我做了:

sudo ldconfig /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

它可能会帮助其他人.