2013-08-16 132 views
1

我一直在嘗試編譯從boostorg github repo下載的C++ boost庫,並且出現以下錯誤。從github編譯C++ boost庫時出錯

...updating 968 targets... 

darwin.compile.c++ bin.v2/libs/atomic/build/darwin-4.2.1/release/threading-multi/lockpool.o 
libs/atomic/src/lockpool.cpp:31: error: expected unqualified-id before numeric constant 
libs/atomic/src/lockpool.cpp:31: error: expected `)' before numeric constant 
libs/atomic/src/lockpool.cpp:55: error: expected `}' at end of input 
libs/atomic/src/lockpool.cpp:55: error: expected `}' at end of input 
libs/atomic/src/lockpool.cpp:55: error: expected `}' at end of input 
libs/atomic/src/lockpool.cpp:55: error: expected `}' at end of input 

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -dynamic -gdwarf-2 -fexceptions -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE -DNDEBUG -I"." -c -o "bin.v2/libs/atomic/build/darwin-4.2.1/release/threading-multi/lockpool.o" "libs/atomic/src/lockpool.cpp" 

...failed darwin.compile.c++ bin.v2/libs/atomic/build/darwin-4.2.1/release/threading-multi/lockpool.o... 
...skipped <pstage/lib>libboost_atomic.dylib for lack of <pbin.v2/libs/atomic/build/darwin-4.2.1/release/threading-multi>lockpool.o... 
darwin.compile.c++ bin.v2/libs/system/build/darwin-4.2.1/release/threading-multi/error_code.o 
darwin.link.dll stage/lib/libboost_system.dylib 
darwin.compile.c++ bin.v2/libs/chrono/build/darwin-4.2.1/release/threading-multi/chrono.o 
In file included from /usr/local/include/boost/mpl/or.hpp:43, 
       from /usr/local/include/boost/mpl/logical.hpp:17, 
       from /usr/local/include/boost/chrono/duration.hpp:40, 
       from /usr/local/include/boost/chrono/chrono.hpp:11, 
       from /usr/local/include/boost/chrono/detail/inlined/chrono.hpp:13, 
       from libs/chrono/src/chrono.cpp:14: 
/usr/local/include/boost/mpl/aux_/include_preprocessed.hpp:37:90: error: boost/mpl/aux_/preprocessed/gcc/or.hpp: No such file or directory 
In file included from /usr/local/include/boost/mpl/and.hpp:42, 
       from /usr/local/include/boost/mpl/logical.hpp:18, 
       from /usr/local/include/boost/chrono/duration.hpp:40, 
       from /usr/local/include/boost/chrono/chrono.hpp:11, 
       from /usr/local/include/boost/chrono/detail/inlined/chrono.hpp:13, 
       from libs/chrono/src/chrono.cpp:14: 
/usr/local/include/boost/mpl/aux_/include_preprocessed.hpp:37:90: error: boost/mpl/aux_/preprocessed/gcc/and.hpp: No such file or directory 
In file included from /usr/local/include/boost/chrono/chrono.hpp:11, 
       from /usr/local/include/boost/chrono/detail/inlined/chrono.hpp:13, 
       from libs/chrono/src/chrono.cpp:14: 
/usr/local/include/boost/chrono/duration.hpp:442: error: ‘and_’ is not a member of ‘boost::mpl’ 

這究竟是如何我這樣做:

git clone https://github.com/boostorg/boost.git 
cd boost 
git submodule init 
git submodule update 
./boostrap.sh 
./b2 

我缺少什麼的任何想法?

回答

3

這github存儲庫似乎是正在進行的努力模塊化提升到單獨的git存儲庫的一部分。它似乎仍然有一些問題。如果你想建立開發中的最新代碼,我會用官方的SVN主幹:

svn co http://svn.boost.org/svn/boost/trunk boost 

如果你只是想在最新的版本(1.54)來源雖然,你可以下載here

但如果你特別需要一個git鏡像,this似乎是boost trunk的最新鏡像。

+1

確實svn幹線工作,問題是我想添加boost作爲git子模塊,它只接受git回購。 –

+1

在這種情況下,我會在github上使用boost trunk的鏡像,比如[this one](https://github.com/ned14/boost-trunk)。 –