Ubuntu 15.04 clang++ 3.6 编译boost 1.59/1.55

Ubuntu 15.04已经可以直接通过apt-get insall 安装clang 3.6, 并且预装的gcc版本是4.9.2。这些安装过程在这里介绍。

首先下载boost源码

wget -O boost.1.59.tar.bz2 ?source=files解压tar jxvf ./boost.1.59.tar.bz2

指定clang工具,生成编译脚本

./bootstrap.sh –with-libraries=system,filesystem,log,atomic,thread,program_options –with-toolset=clang

编译并安装

./b2 toolset=clang cxxflags="-std=c++11" sudo ./b2 install –prefix=/usr

等一会儿就好。

要注意的是,,boost 1.59 似乎有问题,因为编译安装之后,我的一个简单的使用boost log的程序编译会报错,错误如下:

clang++ -g -std=c++11 -I../include -Wall -DBOOST_LOG_DYN_LINK -o./object/main.cc.o -c ../src/main.cc In file included from../src/main.cc:8: In file included from ../include/helper/logger.h:16:In file included from /usr/include/boost/log/sinks.hpp:25: In fileincluded from /usr/include/boost/log/sinks/async_frontend.hpp:42: Infile included from/usr/include/boost/log/sinks/unbounded_fifo_queue.hpp:29: In fileincluded from /usr/include/boost/log/detail/event.hpp:25: In fileincluded from /usr/include/boost/atomic/capabilities.hpp:18: In fileincluded from /usr/include/boost/atomic/detail/platform.hpp:22:/usr/include/boost/atomic/detail/gcc-atomic.hpp:35:67: error: unknowntype name ‘memory_order’ BOOST_FORCEINLINE BOOST_CONSTEXPR intconvert_memory_order_to_gcc(memory_order order) BOOST_NOEXCEPT/usr/include/boost/atomic/detail/gcc-atomic.hpp:37:22: error: use ofundeclared identifier ‘memory_order_relaxed’当我降级到boost 1.55.0后,问题消失。

版权声明:本文为博主原创文章,未经博主允许不得转载。

莫愁前路无知己,天下谁人不识君。

Ubuntu 15.04 clang++ 3.6 编译boost 1.59/1.55

相关文章:

你感兴趣的文章:

标签云: