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版权协议,转载请附上原文出处链接和本声明。