文档首页 > > 移植指南> 移植Boost

移植Boost

分享
更新时间:2020/08/06 GMT+08:00

介绍

简要介绍

Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。

语言:C/C++

一句话概述:为C++语言标准库提供扩展的一些C++程序库的总称

开源协议:custom

建议的版本

  • 已在鲲鹏云服务器上验证过“boost_1_66_0”版本,请根据实际需要选择版本。
  • 本文档以“boost_1_66_0”为例进行说明。

环境要求

云服务器要求

本文以KC1实例测试,配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

配置编译环境

安装依赖。

yum install wget -y

获取源码

获取“boost_1_66_0”源码包。

cd /usr/local/src

wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz

编译和安装

  1. 解压软件包。

    tar -zxvf boost_1_66_0.tar.gz

  2. 进入Boost的安装目录。

    cd boost_1_66_0

  3. 编译安装。

    ./bootstrap.sh –prefix=/usr/local/boost

    ./b2 -j4

    ./b2 install

  4. 配置环境。

    1. 修改环境变量。

      vim /etc/profile

      “/etc/profile”文件末尾增加下面代码:
      export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/boost/include
      export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/boost/lib
    2. “Ecs”,输入“wq!”保存后退出。
    3. 运行下面命令,使修改的环境变量生效。

      source /etc/profile

  5. 将动态库加入到动态链接器中。

    1. 修改环境变量。

      vim /etc/ld.so.conf

      “/etc/ld.so.conf”文件末尾增加下面代码:
      /usr/local/boost/lib
    2. “Ecs”,输入“wq!”保存后退出。
    3. 运行下面命令,使修改的环境变量生效。

      sudo ldconfig

运行和验证

测试Boost库是否安装完成。

  1. 新建一个最简单程序,文件名命名为“main.cpp”,文件内容如下:

    #include <boost/thread/thread.hpp>
    #include <iostream>
    using namespace std;
    
    void NewThread()
    {
            cout << "New thread is running..." << endl;
    }
    
    int main(int argc, char* argv[])
    {
            boost::thread newthread(&NewThread);
            newthread.join();
            return 0;
    }

  2. 编译代码。

    g++ main.cpp -o test -lboost_system -lboost_thread

  3. 运行程序。

    ./test

    回显信息如下,则表示安装成功,并且可以正常使用。

    New thread is running...

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问