Ubuntu14.04安装boost1.48

Ubuntu14.04安装boost1.48

 参考地址:
1. http://www.mamicode.com/info-detail-932057.html[1]
2. http://blog.csdn.net/yhrun/article/details/8099630[2]

环境: ubuntu14.04 g++4.8 boost1.48.0

1 安装4个boost依赖库:

apt-get install mpi-default-dev  #安装mpi库

apt-get install libicu-dev     #支持正则表达式的UNICODE字符集 

apt-get install python-dev     #需要python的话

apt-get install libbz2-dev     #如果编译出现错误:bzlib.h: No such file or directory 

2 安装boost库

2.1 解压压缩包

从boost官网下载 boost_1_48_0.tar.gz (该例子将压缩包放在Downloads中),然后解压:

tar -xzvf boost_1_48_0.tar.gz

2.2 执行配置文件

cd boost_1_48_0
sudo ./bootstrap.sh  #默认路径为/usr/local

在当前目录下生成b2和bjam可执行文件(两者一样), 终端结果:
<code>sudo ./bootstrap.sh</code> 结果图

2.3 编译boost库

sudo ./b2 -a -sHAVE_ICU=1 #大约30分钟

出现的错误及解决办法:

  • boost_thread库安装失败

    •  错误1
       结果:  
      disable thread

      原因:
      g++ 4.7以上的版本不能使能boost1.48及以下的版本。
      解决办法:修改 ./boost/config/stdib/libstdcpp3.hpp 文件
      修改前
      修改后

    • 错误2
      结果:
      xtime.cpp

原因:TIME_UTC定义冲突
解决办法:将目录 boost_1_48_0 中所有TIME_UTC 换成XTIME_UTC

  • locale库安装失败
    错误

    ./libs/locale/src/icu/formatter.cpp中的第61行出现format函数有二义性;
    原因:安装的libicu-dev库与原始的库冲突
    解决办法:

sudo apt-get remove libicu-dev

成功结果:
成功编译

2.4 安装boost库

sudo ./b2 install

2.5 设置动态库权限

将新安装的动态库,设置成系统共享:

sudo ldconfig /usr/local/lib

成功结果:没有出现 skip .. targets等非updated关键字
安装成功结果

3 boost_thread 使用测试

testBoost.cpp

#include <boost/thread.hpp>
#include <iostream>

void task1() {
    // do stuff
    std::cout << "This is task1!" << std::endl;
}

void task2() {
    // do stuff
    std::cout << "This is task2!" << std::endl;
}

int main (int argc, char ** argv) {
    using namespace boost;
    thread thread_1 = thread(task1);
    thread thread_2 = thread(task2);

    // do other stuff
    thread_2.join();
    thread_1.join();
    return 0;
}

编译运行g++ -o testBoost testBoost.cpp -lboost_thread其中boost 库需放在.c或.cpp之后,否则链接不能通过,编译可以通过[1]

成功结果:

$ ./testBoost
This is task1!
This is task2!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值