Я пытался скомпилировать библиотеки с ++ boost, загруженные из репозитория gitub boostorg, и получаю следующую ошибку.
...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
Есть идеи о том, что мне не хватает?
Этот github-репозиторий, кажется, является частью предпринимаемых усилий по модульной надстройке в отдельные git-репозитории. Похоже, все еще есть некоторые проблемы. Если вы хотите собрать самый последний код разработки, я бы использовал официальный ствол SVN:
svn co http://svn.boost.org/svn/boost/trunk boost
Если вы просто хотите получить источник последней версии (1.54), вы можете скачать его Вот
Но если вам конкретно нужно зеркало для мерзавцев, этот кажется современным зеркалом форсированного багажника.
Других решений пока нет …