linux安装boost库

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,,作为标准库的后备,是C++标准化进程的发动机之一。Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用。具体来说,boost 库文件有两种类型,一种是无需编译的库文件(Header-Only Libraries),我们可以直接使用它们来写C++程序,只要保证gcc能找到这些库文件的头文件。一种是需要单独编译的库文件(Separately-Compiled Libraries),这些库文件只有源文件我们还不能用来写C++程序,必须把它们编译成二进制文件并安装到系统中才能用。这是因为这些库依赖于操作的某些功能实现,如线程、文件系统、信号等(可见这些库在不同的操作系统上有不同的实现,只是向程序员提供了一致的接口)。编写C++程序若要使用这些单独编译的库,在编译程序时还要指定其二进制文件(.so文件)的位置,这样gcc才能加载这些二进制文件,并生成我们的程序。

在linux安装过程如下:

  1. 到www.boost.org下载相应的代码包

  2. 进入自己的工作目录执行解压操作:

    • ~$ bzip2 -d boost_1_6_0.tar.bz2
    • ~$ tar -xvf boost_1_6_0.tar
    • ~$ cd boost_1_6_0
    • ~/boost_1_6_0$ ./bootstrap.sh //生成安装工具bjam和b2
  3. 在这里使用b2工具安装,可以使用./b2 –help 查看命令选项

  4. 安装boost库:
    ~/boost_1_6_0$ sudo ./b2 install

安装过程大概需要半个小时,安装完毕后boost库的头文件默认是在/usr/local/include目录下,.a和.so在/usr/local/lib目录下。

注:在执行代码时,ldd会提示找不到.so文件。也就是动态库的环境变量没有设置。这里解决方法是将需要使用的库sudo cp至/usr/lib。可能还需要设置动态库的环境变量LD_LIBRARY_PATH,设置方法有两种:
1. export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/lib 但是登出后就失效
2. 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
- 在其中添加例如export PATH=/usr/lib:$LD_LIBRARY_PATH
- source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

参考资料

  1. linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
  2. Linux下安装和使用boost库

你可能感兴趣的:(linux,boost)