开发者

Error loading shared libraries of boost

I am working on centos. I installed boost version 1.45.0 on my system. The programs are compiled correctly but whenever I type command to see output it gives 开发者_如何学运维following error:

./a.out: error while loading shared libraries: libboost_thread.so.1.45.0: cannot open shared object file: No such file or directory


In addition to the other answers, you can also set the DT_RPATH elf tag when linking your executable

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

This way you don't have to remember to set your LD_LIBRARY_PATH if the libraries are installed in a non-standard location.


How did you install the boost libraries?

The problem you're likely having is that the linker can not find the libraries, and when you built your program, you had to manually specify additional library paths to search for libraries.

A quick fix you can do is to set LD_LIBRARY_PATH to include the directory where the boost thread library is:

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

./runExecutable


You need to set the LD_LIBRARY_PATH environment variable to include the path to the Boost libraries (they're possibly in /usr/local/lib, etc).

In bash, this is simply

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜