Ubuntu下如何安装boost?

作者: NickYang 分类: 技术文章 发布时间: 2012-11-13 09:30

最近有开始折腾Linux了,没办法,太多的东西都是在Linux下很高效并且不提供VS的工程文件,所以还是学学Linux吧,免得以后被人说做服务器竟然不懂Linux。

这篇文章的前提是系统是Ubuntu12.04LTS,系统完全更新过,并且一系列编译工具都已经安装过了,如果你还不清楚如何安装开发工具,那请你搜索一下相关文章,搞明白后再来看这个,谢谢。

首先我们需要的最新版本的boost库的源码包,可以通过www.boost.org来下载,现在的最新版本是1.52.0,有兴趣的朋友可以看下这个版本的changelog。

解压(解压这个问题很多人都会用命令解压,不过我觉得既然右键可以直接解压,为何要用命令呢,你要是觉得命令行比较高端或者专业,那请你自己去查找)后放在 文件系统/usr/share目录下,文件夹名为boost_1_52_0,里面有什么大家就自己去看吧。

1.使用bootstrap.bat来编译生成b2和bjam可执行文件。因为默认的boostrap.bat中的工具是msvc,而ubuntu不可能使用msvc的,所以我们修改boostrap.bat文件如下:

这样我们就设置它是使用gcc编译。

2.点击bootstrap.sh会在终端编译生成b2和bjam可执行文件.

3.开始编译boost库。从终端进入boost库的目录 cd /usr/share/boost_1_52_0/ ,然后输入sudo ./bjam tolset=gcc –layout=tagged –build-type=complete stage

注意:此处使用的是完全编译,因为省得以后还得编译麻烦,如果你不需要某些库,直接写–without-XXX(库名)。此处为了保证权限没有问题,所以使用了sudo命令,如果你的当前用户是roo权限t,则不需要加sudo

这样生成的.a库文件就会在boost_1_52_0文件夹下的stage/lib目录下了。编译时间比较长,大家耐心等待。

4.关联头文件目录和库文件目录分别到/usr/include和/usr/lib。

这样整个编译过程就结束了,剩下就是你自己如何使用了。

 

如果你不想全部安装,或者只是想要.a的库文件,那我推荐如下的安装代码。

这个编译生成的是.so文件,而且没有那些暂时不需要的库文件,比较精简,我个人是没有试过–build-type=mininal的方式。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

28条评论
  • dengzxf

    2014 年 3 月 19 日 10:47

    这个bat是windows下的安装脚本,linux的安装脚本也有啊,为什么非要用这个呢。。。

    潜水 火狐浏览器 Windows XP
    1. eliteYang

      2014 年 3 月 19 日 14:21

      比较直接啊,这就是文档中给出的编译教程啊

      神话 Chrome浏览器 Windows 7 x64 Edition
  • 酷特尔

    2014 年 1 月 1 日 12:08

    新年乐乐。

    话唠 Chrome浏览器 Windows 7 x64 Edition
    1. eliteYang

      2014 年 1 月 1 日 17:51

      同乐同乐

      神话 Chrome浏览器 Windows 7
  • Yu Jing

    2013 年 11 月 19 日 22:03

    我也是yum install *** 的,也编译过。不过我还是喜欢用.a文件。。下载&尝试中

    神话 其它浏览器 其它操作系统
  • Yu Jing

    2013 年 11 月 19 日 22:02

    "如果你不想全部安装,或者只是想要.a的库文件,那我推荐如下的安装代码。"多谢!,从来全部安装并且很是苦恼可移植性的表示大谢

    神话 其它浏览器 其它操作系统
    1. Yu Jing

      2013 年 11 月 19 日 23:23

      额。。google了下,貌似现在不一样了。反正上述的方法是无法搞定的,我使用的是 ./b2 b2 link=static

      神话 其它浏览器 其它操作系统
    2. Yu Jing

      2013 年 11 月 19 日 23:23

      测试失败,我使用的是 ./b2 link=static 编译.a文件

      神话 其它浏览器 其它操作系统
      1. eliteYang

        2013 年 11 月 20 日 09:59

        你可以直接看boost的文档,上面有linux的变异方法,这个方法是我成功的试过,具体说下你的错误呗

        神话 其它浏览器 其它操作系统
        1. Yu Jing

          2013 年 11 月 20 日 13:04

          说没有–layout –without-wave –without-graph –without-math 等选项选项,

          神话 其它浏览器 其它操作系统
        2. Yu Jing

          2013 年 11 月 20 日 13:13

          我又看了下文档,发现原因了,因为这东西是 –layout (前面有两个-), –without-wave …
          WP有转码的功能,比如双引号变中文什么的,可能把你那东西修改掉了

          神话 其它浏览器 其它操作系统
        3. Yu Jing

          2013 年 11 月 20 日 13:16

          另外,include文件在哪啊,如果不安装的话,我从哪里copy呢

          神话 其它浏览器 其它操作系统
          1. eliteYang

            2013 年 11 月 21 日 13:20

            include的文件就是下载包里的boost文件夹啊

            神话 其它浏览器 其它操作系统
            1. Yu Jing

              2013 年 11 月 21 日 15:27

              当时刚回复完就找到了…一叶障目啊

              神话 其它浏览器 其它操作系统
              1. eliteYang

                2013 年 11 月 21 日 23:40

                我最近换工作,也是在linux下工作,确实有点蛋疼

                神话 其它浏览器 其它操作系统
  • 粪斗吧,骚年

    2013 年 11 月 16 日 12:01

    用了两天UBUNTU,然后换成DEBIAN了~

    其它浏览器 其它操作系统
    1. eliteYang

      2013 年 11 月 16 日 21:02

      各有所爱,只要用着舒服就行。

      神话 其它浏览器 其它操作系统
      1. Yu Jing

        2013 年 11 月 19 日 22:02

        我更喜欢RH系的。。

        神话 其它浏览器 其它操作系统
        1. eliteYang

          2013 年 11 月 20 日 09:59

          fedora我原来也很喜欢

          神话 其它浏览器 其它操作系统
  • 酷特尔

    2012 年 12 月 20 日 21:22

    😥 受教了。

    潜水 Chrome浏览器 Windows 7 x64 Edition
    1. eliteYang

      2012 年 12 月 20 日 21:32

      互相学习。

      神话 火狐浏览器 Windows 7
  • egmkang

    2012 年 11 月 17 日 13:21

    额,我看不下去了…
    apt-get install libboost-dev

    吐槽 火狐浏览器 Windows 7
    1. eliteYang

      2012 年 11 月 17 日 21:03

      你的命令是下载好的东西,我需要自己练习编译等的一系列东西,谁都是慢慢摸索的。

      神话 火狐浏览器 Windows 7
  • rangerlee

    2012 年 11 月 15 日 21:32

    不知道你这个第一步是干什么用的,完全不需要啊,Linux就一个编译器,因此连toolset也不需要设置

    畅言 Chrome浏览器 Windows 7 x64 Edition
    1. eliteYang

      2012 年 11 月 15 日 21:50

      选项里默认是msvc的,所以就改掉了,以前用vs05和10编译的时候就出现过问题,所以现在习惯都改了。
      Linux下那个IDE好呢?codeblocks试了下,提示还是不甚给力,eclipse如何呢?

      神话 火狐浏览器 Windows 7
  • 茶话汇

    2012 年 11 月 14 日 00:01

    没看懂boost是用途是啥呢?

    话唠 火狐浏览器 Windows 7
    1. eliteYang

      2012 年 11 月 14 日 10:32

      boost提供了大量的库,都很好用,可以省很多时间。而且很成熟,现在算是c++标准库了。

      神话 Safari浏览器 Mac OS X
  • 愚蠢的凡人

    2012 年 11 月 13 日 20:38

    不懂linux的路过

    潜水 傲游浏览器 Windows Vista

发表评论

电子邮件地址不会被公开。 必填项已用*标注