[cfe-dev] Compiling Boost.Serialization with libc++
Jonathan Sauer
jonathan.sauer at gmx.de
Mon Oct 10 08:09:33 PDT 2011
> I'm trying to compile boost (boost.serialization in particular) with clang/libc++. The compilation seems fine, however, come the linking, I get these errors:
>
> clang-darwin.link.dll bin.v2/libs/serialization/build/clang-darwin-trunk/release/threading-multi/libboost_serialization.dylib
>
> Undefined symbols for architecture x86_64:
> "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
>
> The build flags are "-std=c++0x -U__STRICT_ANSI__ -D__STDC_FORMAT_MACROS -stdlib=libc++" and I get the same errors even when I disable c++0x and no errors when I fallback to libstdc+++.
I would guess that you're not linking against libc++, i.e. you're missing -lc++. clang, when called as "clang" instead
of "clang++", does not automatically link against the C++ standard library, at least not when it's libc++(?)
Hope that helps,
Jonathan
More information about the cfe-dev
mailing list