Ubuntu18.04 源码编译安装 boost_1.72.0(libboost)

1. 准备基础环境(已安装的话请跳过此步骤):

sudo apt-get install libbz2-dev libicu-dev

2.下载boost库(历史版本):

1.72.0版本:Index of main/release/1.72.0/source

3.下载安装包:

3.解压后进入目录boost_1_72_0:

cd boost_1_72_0

 4.将文件赋予可执行权限:

chmod +x -R *

5.执行命令: ./bootstrap.sh (然后根据提示再执行 ./b2 命令)

6.执行安装 

sudo ./b2 --prefix=/usr/local/boost install

安装完成后(环境变量按需添加头文件和lib库路径)
     boost lib库目录在 /usr/local/boost/lib 下
     boost include 头文件在 /usr/local/boost/include 下

 7.添加环境变量

  

vim ~/.bashrc

添加

CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/boost/include
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/boost/lib
export LIBRARY_PATH CPLUS_INCLUDE_PATH
source ~/.bashrc

接下来执行 

sudo ldconfig /usr/local/boost/lib/

 遇到报错:error while loading shared libraries: libboost_thread.so.1.72.0: cannot open shared object file: No

 sudo vim /etc/ld.so.conf

  然后键入以下内容

/usr/local/boost/lib

按Esc 后输入:wq保存并退出,再次执行

sudo ldconfig

之后大功告成!

 写一个demo测试一下 文件名: boost_test.cpp

#include <boost/thread.hpp>
#include <iostream>
using namespace std;
using namespace boost;

void thread_task_1();
void thread_task_2();
// g++ boost_test.cpp -o boost_test -I/usr/local/boost/include -L/usr/local/boost/lib -lboost_system -lboost_thread
void thread_task_1() {cout << "here is the task 1!" << endl;}
 
void thread_task_2() {cout << "here is the task 2!" << endl;}
 
int main (int argc, char ** argv) {
    
    thread thread_1 = thread(thread_task_1);
    thread thread_2 = thread(thread_task_2);
    boost::this_thread::sleep(boost::posix_time::seconds(1));
    thread_2.join();
    thread_1.join();
    return 0;
}

编译(注意一定加上-lpthread 否则出现错误:)

g++ boost_test.cpp -o boost_test  -lboost_system -lboost_thread -lpthread

运行结果

 ok .


版权声明:本文为chen411120086原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。