Boost logo

Boost :

Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC
From: Louis Dionne (louis.dionne92_at_[hidden])
Date: 2013-03-26 11:04:58


Tim Burgess <tim <at> raisedbar.net> writes:

>
> Hi,
>
> I have an XCode c++ project that uses the static serialisation library (as
> well as FileSystem, IOStream and System). The project started out on XCode
> 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost 1_49_0,
> built against Apple's 10.6 SDK.
 [...]

Hi,

This is really just a guess, but:

Did you build Boost using clang with libc++? If so, and if you are building
your project with gcc and stdlibc++, that could be the source of the problem.

IIRC, libc++ broke the ABI compatibility with stdlibc++. To turn potential
runtime errors into link-time errors, they used inline namespaces. For
example, symbols inside the std namespace with libc++ are of the form
    std::__1::symbol

while with stdlibc++ they are of the form
    std::symbol

When linking with a library built with a different runtime, the linker
will fail to find the symbols, turning a nasty runtime error into a link failure.
If I were you, I would look at the symbols exported by Boost. If they don't
match those referenced by your project, that could be it.

Best of luck,

Louis


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk