C++ 使用叮当声和x2B构建Boost 1.50.0+;3.1

C++ 使用叮当声和x2B构建Boost 1.50.0+;3.1,c++,boost,llvm,clang,C++,Boost,Llvm,Clang,我正在尝试用clang++3.1构建Boost1.50.0。我尝试过使用默认的darwin工具集安装Boost.Build,但遇到了编译器错误 有什么特别的方法吗 graeme graeme-pc 13:35:14 /usr/local/boost_1_50_0 $ sudo /usr/local/bin/b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" Building the B

我正在尝试用clang++3.1构建Boost1.50.0。我尝试过使用默认的darwin工具集安装Boost.Build,但遇到了编译器错误

有什么特别的方法吗

graeme graeme-pc 13:35:14 /usr/local/boost_1_50_0
$ sudo /usr/local/bin/b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++"

Building the Boost C++ Libraries.


Performing configuration checks

    - has_icu builds           : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - iconv (libc)             : no
    - iconv (separate)         : yes
    - icu                      : no
    - icu (lib64)              : no
    - gcc visibility           : yes
    - long double support      : yes
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.

Component configuration:

    - chrono                   : building
    - date_time                : building
    - exception                : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - math                     : building
    - mpi                      : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - signals                  : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - wave                     : building

...patience...
...patience...
...patience...
...patience...
...found 8583 targets...
...updating 6 targets...
clang-darwin.compile.c++ bin.v2/libs/signals/build/clang-darwin-4.2.1/release/threading-multi/named_slot_map.o
libs/signals/src/named_slot_map.cpp:105:12: error: call to member function 'erase' is ambiguous
    groups.erase(group);
    ~~~~~~~^~~~~
/usr/bin/../lib/c++/v1/map:964:14: note: candidate function
    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
             ^
/usr/bin/../lib/c++/v1/map:966:15: note: candidate function
    size_type erase(const key_type& __k)
              ^
/usr/bin/../lib/c++/v1/map:969:15: note: candidate function not viable: requires 2 arguments, but 1 was provided
    iterator  erase(const_iterator __f, const_iterator __l)
              ^
libs/signals/src/named_slot_map.cpp:128:26: error: call to member function 'erase' is ambiguous
    if (empty(g)) groups.erase(g++);
                  ~~~~~~~^~~~~
/usr/bin/../lib/c++/v1/map:964:14: note: candidate function
    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
             ^
/usr/bin/../lib/c++/v1/map:966:15: note: candidate function
    size_type erase(const key_type& __k)
              ^
/usr/bin/../lib/c++/v1/map:969:15: note: candidate function not viable: requires 2 arguments, but 1 was provided
    iterator  erase(const_iterator __f, const_iterator __l)
              ^
2 errors generated.

    "clang++" -x c++ -O3 -std=c++11 -stdlib=libc++ -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_DYN_LINK=1 -DBOOST_SIGNALS_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/signals/build/clang-darwin-4.2.1/release/threading-multi/named_slot_map.o" "libs/signals/src/named_slot_map.cpp"

...failed clang-darwin.compile.c++ bin.v2/libs/signals/build/clang-darwin-4.2.1/release/threading-multi/named_slot_map.o...
...skipped <pstage/lib>libboost_signals.dylib for lack of <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/threading-multi>named_slot_map.o...
clang-darwin.compile.c++ bin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi/named_slot_map.o
libs/signals/src/named_slot_map.cpp:105:12: error: call to member function 'erase' is ambiguous
    groups.erase(group);
    ~~~~~~~^~~~~
/usr/bin/../lib/c++/v1/map:964:14: note: candidate function
    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
             ^
/usr/bin/../lib/c++/v1/map:966:15: note: candidate function
    size_type erase(const key_type& __k)
              ^
/usr/bin/../lib/c++/v1/map:969:15: note: candidate function not viable: requires 2 arguments, but 1 was provided
    iterator  erase(const_iterator __f, const_iterator __l)
              ^
libs/signals/src/named_slot_map.cpp:128:26: error: call to member function 'erase' is ambiguous
    if (empty(g)) groups.erase(g++);
                  ~~~~~~~^~~~~
/usr/bin/../lib/c++/v1/map:964:14: note: candidate function
    iterator erase(const_iterator __p) {return __tree_.erase(__p.__i_);}
             ^
/usr/bin/../lib/c++/v1/map:966:15: note: candidate function
    size_type erase(const key_type& __k)
              ^
/usr/bin/../lib/c++/v1/map:969:15: note: candidate function not viable: requires 2 arguments, but 1 was provided
    iterator  erase(const_iterator __f, const_iterator __l)
              ^
2 errors generated.

    "clang++" -x c++ -O3 -std=c++11 -stdlib=libc++ -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi/named_slot_map.o" "libs/signals/src/named_slot_map.cpp"

...failed clang-darwin.compile.c++ bin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi/named_slot_map.o...
...skipped <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_signals.a(clean) for lack of <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi>named_slot_map.o...
...skipped <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_signals.a for lack of <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi>named_slot_map.o...
...skipped <pstage/lib>libboost_signals.a for lack of <pbin.v2/libs/signals/build/clang-darwin-4.2.1/release/link-static/threading-multi>libboost_signals.a...
...failed updating 2 targets...
...skipped 4 targets...
graeme-graeme-pc 13:35:14/usr/local/boost\u 1\u 50\u 0
$sudo/usr/local/bin/b2 toolset=clangcxflags=“-std=c++11-stdlib=libc++”linkflags=“-stdlib=libc++”
构建Boost C++库。
执行配置检查
-有没有:没有
警告:图形库不包含基于MPI的并行组件。
注意:要启用它们,请在user-config.jam中添加“using mpi;”
-iconv(libc):不
-iconv(单独):是
-重症监护病房:没有
-icu(lib64):没有
-gcc可见性:是
-长双支撑:是的
警告:跳过可选的消息传递接口(MPI)库。
注意:要启用MPI支持,请将“使用MPI;”添加到user-config.jam。
注意:若要抑制此消息,请将“-不带mpi”传递给bjam。
注意:否则,您可以安全地忽略此消息。
组件配置:
-时钟:建筑物
-日期和时间:建筑
-例外情况:建筑
-文件系统:构建
-图表:建筑
-图形并行:建筑
-iostreams:建筑
-地点:大厦
-数学:建筑
-mpi:建筑
-项目选项:建筑
-python:构建
-随机:建筑
-正则表达式:建筑物
-序列化:构建
-信号:建筑
-系统:建筑
-测试:建筑
-螺纹:建筑
-计时器:建筑物
-波浪:建筑物
……耐心。。。
……耐心。。。
……耐心。。。
……耐心。。。
…找到了8583个目标。。。
…正在更新6个目标。。。
编译达尔文C++编译。
libs/signals/src/named_slot_map.cpp:105:12:错误:对成员函数“erase”的调用不明确
组。擦除(组);
~~~~~~~^~~~~
/usr/bin/。/lib/c++/v1/map:964:14:注意:候选函数
迭代器擦除(const_iterator uuu p){return uu树u.erase(u p.u i_u)}
^
/usr/bin/。/lib/c++/v1/map:966:15:注意:候选函数
大小类型擦除(常量键类型和)
^
/usr/bin/。/lib/c++/v1/map:969:15:注意:候选函数不可行:需要2个参数,但提供了1个
迭代器擦除(常量迭代器,常量迭代器)
^
libs/signals/src/named_slot_map.cpp:128:26:错误:对成员函数“erase”的调用不明确
if(空(g))组。擦除(g++);
~~~~~~~^~~~~
/usr/bin/。/lib/c++/v1/map:964:14:注意:候选函数
迭代器擦除(const_iterator uuu p){return uu树u.erase(u p.u i_u)}
^
/usr/bin/。/lib/c++/v1/map:966:15:注意:候选函数
大小类型擦除(常量键类型和)
^
/usr/bin/。/lib/c++/v1/map:969:15:注意:候选函数不可行:需要2个参数,但提供了1个
迭代器擦除(常量迭代器,常量迭代器)
^
产生2个错误。
xC++ C++ -O3- STDLIB= LIBC++-O3-FiLink函数- Wno DBOSTSTYLALLNOYOLIB函数=1 -DBOSTSTYORYSUBYSUN NODYLIN=1 -dBooSTySyStAlsSoNoLIB=1 -DNDECHG -I“.-”-O“bin”.V2/LIBS/Studio / CLAN-DARWEN 4.2.1/释放/线程/多/ NAMEDEX-SLUTHYMAP .O“”LIBS/SAMC/NAMEDEX-SLUTLYMAP .CPP““铿锵+”
失败的CLAN达尔文。编译。C++ BIN。V2/LIBS/Stulk/Bug/CLAN-DARWEN 4.2.1//释放/线程多/ NAMEDEX-SLUTHYMAP…
…跳过了libboost\u signals.dylib,因为缺少命名的\u slot\u map.o。。。
编译达尔文C++编译。
libs/signals/src/named_slot_map.cpp:105:12:错误:对成员函数“erase”的调用不明确
组。擦除(组);
~~~~~~~^~~~~
/usr/bin/。/lib/c++/v1/map:964:14:注意:候选函数
迭代器擦除(const_iterator uuu p){return uu树u.erase(u p.u i_u)}
^
/usr/bin/。/lib/c++/v1/map:966:15:注意:候选函数
大小类型擦除(常量键类型和)
^
/usr/bin/。/lib/c++/v1/map:969:15:注意:候选函数不可行:需要2个参数,但提供了1个
迭代器擦除(常量迭代器,常量迭代器)
^
libs/signals/src/named_slot_map.cpp:128:26:错误:对成员函数“erase”的调用不明确
if(空(g))组。擦除(g++);
~~~~~~~^~~~~
/usr/bin/。/lib/c++/v1/map:964:14:注意:候选函数
迭代器擦除(const_iterator uuu p){return uu树u.erase(u p.u i_u)}
^
/usr/bin/。/lib/c++/v1/map:966:15:注意:候选函数
大小类型擦除(常量键类型和)
^
/usr/bin/。/lib/c++/v1/map:969:15:注意:候选函数不可行:需要2个参数,但提供了1个
迭代器擦除(常量迭代器,常量迭代器)
^
产生2个错误。
“CLAN+++”-STC++=C++ 11 - STDLIB= LIBC++-O3-鳍线函数- Wno -DBOSTSTYLALL NoYLIB=1 -DBOSTSTY信号NoLIB=1 -DNDECHG - I“.”-C o“bin”.V2/LIBS/Studio / CLAN-DARWEN 4.2.1/释放/链路静态/线程/多/ NAMEDEX-SLUTLYMAP .O“LIBS/SAMC/NAMEDEX-SLUTLYMAP .CPP”
失败的CLAN达尔文。编译。C++ Bin。V2/LIBS/Stulk/Bug/CLAN-DARWEN 4.2.1/释放/链接静态/线程多/ NAMEDEX-SLUTLYMAP…
…跳过了libboost\u signals.a(clean),因为缺少命名的\u slot\u map.o。。。
…跳过了libboost\u信号。a因为缺少命名的\u插槽\u映射。o。。。
…跳过了libboost_信号。a因为缺少libboost_信号。a。。。
…更新2个目标失败。。。
滑雪
$ cd /usr/local/boost_1_50_0
$ sudo ./bootstrap.sh --with-toolset=clang
$ sudo ./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" --without-signals