zoukankan      html  css  js  c++  java
  • boost 1.57.0安装

    一. PC编译安装boost

    boost是C++的准标准库,其有两种安装方法。

    1. ubuntu下,通过sudo apt-get install libboost-all-dev。

    2. 通过源码包安装,http://sourceforge.net/projects/boost/files/latest/download?source=dlp

       下载源码包:boost_1_57_0.tar.bz2

        1)解压后,进入目录,配置编译环境

              ./bootstrap.sh

              注:boost下头文件在目录boost下。

         2) 编译

              ./b2

              编译完成后,stage下是生成的库文件。

         3) 安装到主机上

             sudo ./b2 install

              默认安装头文件/usr/local/include/boost目录下,库文件在/usr/local/lib目录下。

    二. ARM交叉编译boost

        1)解压后,进入目录,配置编译环境,同PC。

              ./bootstrap.sh

              注:boost下头文件在目录boost下。

         2) 编译

        编译前需配置交叉编译器,

    if ! gcc in [ feature.values <toolset> ]
    
    {
    
    #关键是以下这句的修改
    
    using gcc : arm : arm-linux-g++ ;
    
    #另外生成目录或者放置编译结果的目录请自行另作选择
    
    }

              ./b2

              编译完成后,stage下是生成的库文件。

    gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/token_ids.o
    gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/wave_config_constant.o
    common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer
    common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex
    gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/aq.o
    gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.o
    gcc.archive bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/libboost_wave.a
    common.copy stage/lib/libboost_wave.a
    ...failed updating 60 targets...
    ...skipped 21 targets...
    ...updated 975 targets...

            一般情况下,有些库编译不成功,编译完成的库都在stage/lib下。

         3) 安装到主机上

              创建目录/usr/arm/usr/arm/include/usr/arm/lib;将boost/这个目录拷贝至/usr/arm/include下,将stage/lib下的库文件拷贝至/usr/arm/lib下。

              默认安装头文件/usr/local/include/boost目录下,库文件在/usr/local/lib目录下。

    三. 编译个小程序验证下是否成功。

    #cat test.cpp 
    #include <boost/lexical_cast.hpp>
    #include <iostream>
    
    int main()
    {
      using boost::lexical_cast;
      int a= lexical_cast<int>("123456");
      double b = lexical_cast<double>("123.456");
      std::cout << a << std::endl;
      std::cout << b << std::endl;
      return 0;
    }
    g++ -o test test.cpp
    #ls
    test  test.cpp
    # ./test 
    123456
    123.456

    参考:

    http://www.xitongzhijia.net/xtjc/20150407/44268.html

    http://blog.csdn.net/jwybobo2007/article/details/7242307

    http://blog.csdn.net/jwybobo2007/article/details/8850008

  • 相关阅读:
    XNA入门教程(一)
    SQL透视表
    java 远程ftp建立文件夹
    费事数列——我的理解
    OOP
    OOP2
    河内之塔
    获取页面上TextBox并改变它的值
    RMAN学习之三:归档模式有备份,丢失控制文件。
    SQL Server Error: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或访问
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/6059394.html
Copyright © 2011-2022 走看看