Boost logo

Boost :

Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC
From: Tim Burgess (tim_at_[hidden])
Date: 2013-03-26 12:00:52


I built Boost with the Darwin toolset, so that uses GCC (how can I check
which linker is being used by the Boost build system?). My application
project is linking using libc++.

Assuming I've got a linker mismatch, how can I either get Boost to link
using libc++, or get XCode to link using stdlibc?

Best wishes.

Tim Burgess

-----Original Message-----
From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Louis Dionne
Sent: 26 March 2013 15:05
To: boost_at_[hidden]
Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC

Tim Burgess <tim <at>> 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.


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

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

while with stdlibc++ they are of the form

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,


Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at