Raspberry PI GCC 4.8.2 build boost 1.56 原子错误
Raspberry PI GCC 4.8.2 build boost 1.56 atomic error
我尝试在 raspberry pi 上使用 c++11 构建 1.56 boost 库。大多数库构建正确,但 boost atomic 生成以下错误:
构建 Boost C++ 库。
Component configuration:
- atomic : building
- chrono : not building
- container : not building
- context : not building
- coroutine : not building
- date_time : not building
- exception : not building
- filesystem : not building
- graph : not building
- graph_parallel : not building
- iostreams : not building
- locale : not building
- log : not building
- math : not building
- mpi : not building
- program_options : not building
- python : not building
- random : not building
- regex : not building
- serialization : not building
- signals : not building
- system : not building
- test : not building
- thread : not building
- timer : not building
- wave : not building
...found 129 targets...
...updating 8 targets...
gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o
g++: error: unrecognized command line option ‘-std=cxx11’
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -std=cxx11 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE -DNDEBUG -I"." -c -o "bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o"
"libs/atomic/src/lockpool.cpp"
...failed gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o...
...skipped <pbin.v2/libs/atomic/build/gcc-4.8/release/threading-multi>libboost_atomic.so.1.56.0
for lack of
lockpool.o...
...skipped libboost_atomic.so.1.56.0 for lack of libboost_atomic.so.1.56.0...
...skipped libboost_atomic.so for lack of libboost_atomic.so.1.56.0...
gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o
g++: error: unrecognized command line option ‘-std=cxx11’
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -std=cxx11 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_SOURCE -DBOOST_ATOMIC_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o"
"libs/atomic/src/lockpool.cpp"
...failed gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o...
...skipped <pbin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi>libboost_atomic.a(clean)
for lack of
lockpool.o...
...skipped libboost_atomic.a
for lack of
lockpool.o...
...skipped libboost_atomic.a for lack of libboost_atomic.a...
...failed updating 2 targets...
...skipped 6 targets...
我做到了:
./bootstrap --with-libraries=atomic
./b2 cxxflags="-std=cxx11"
有人知道我能做什么吗?
正确的标志是 -std=c++11
,而不是 -std=cxx11
。只需 运行 您的命令:
./b2 cxxflags="-std=c++11"
这个错误是已知的并已修复:
https://svn.boost.org/trac/boost/ticket/10446
https://github.com/boostorg/atomic/commit/415db7054723291042e4ff1ffa8fdd5bc8b07163
我尝试在 raspberry pi 上使用 c++11 构建 1.56 boost 库。大多数库构建正确,但 boost atomic 生成以下错误:
构建 Boost C++ 库。
Component configuration: - atomic : building - chrono : not building - container : not building - context : not building - coroutine : not building - date_time : not building - exception : not building - filesystem : not building - graph : not building - graph_parallel : not building - iostreams : not building - locale : not building - log : not building - math : not building - mpi : not building - program_options : not building - python : not building - random : not building - regex : not building - serialization : not building - signals : not building - system : not building - test : not building - thread : not building - timer : not building - wave : not building ...found 129 targets... ...updating 8 targets... gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o g++: error: unrecognized command line option ‘-std=cxx11’ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -std=cxx11 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE -DNDEBUG -I"." -c -o "bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o"
"libs/atomic/src/lockpool.cpp"
...failed gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/threading-multi/lockpool.o... ...skipped <pbin.v2/libs/atomic/build/gcc-4.8/release/threading-multi>libboost_atomic.so.1.56.0
for lack of lockpool.o... ...skipped libboost_atomic.so.1.56.0 for lack of libboost_atomic.so.1.56.0... ...skipped libboost_atomic.so for lack of libboost_atomic.so.1.56.0... gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o g++: error: unrecognized command line option ‘-std=cxx11’
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -std=cxx11 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_SOURCE -DBOOST_ATOMIC_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o"
"libs/atomic/src/lockpool.cpp"
...failed gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.o... ...skipped <pbin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi>libboost_atomic.a(clean)
for lack of lockpool.o... ...skipped libboost_atomic.a for lack of lockpool.o... ...skipped libboost_atomic.a for lack of libboost_atomic.a... ...failed updating 2 targets... ...skipped 6 targets...
我做到了:
./bootstrap --with-libraries=atomic
./b2 cxxflags="-std=cxx11"
有人知道我能做什么吗?
正确的标志是 -std=c++11
,而不是 -std=cxx11
。只需 运行 您的命令:
./b2 cxxflags="-std=c++11"
这个错误是已知的并已修复:
https://svn.boost.org/trac/boost/ticket/10446
https://github.com/boostorg/atomic/commit/415db7054723291042e4ff1ffa8fdd5bc8b07163