stdcxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <>
Subject Re: question: stdcxx, architectural
Date Mon, 15 Jan 2007 20:05:14 GMT
Muller wrote:
> Hi Martin,
> First I've tried to integrate stdcxx in a project on Windows and found 
> it includes some headers from MSVC's STL it is intended to replace. More 
> so, on *nix system it acts almost the same. At least I've checked 
> dependencies and found that my project links with both stdcxx and 
> system's default library. I've used the release published on incubator 
> and made no changes to source code, just ran the configurator scripts 
> (generated both 11d and 15d). So, to round it off, please tell me if 
> this is an expected behaviour (i.e. system-dependent STL must be present 
> and is included) or there are some issues with scripts (therefore wrong 
> include paths are used).

Apache stdcxx is an implementation of the C++ Standard Library,
i.e., it's an alternative to the "native" implementation that
comes with the C++ compiler. All conforming implementations of
the C++ Standard Library are required to provide the same set
of public headers (such as <algorithm> or <vector>). The headers
implement the same set of symbols (functions, classes, templates,
etc.) but typically in a different and incompatible way. The
upshot is that programs that mix symbols from two (or more)
implementations run into problems either at link time or (worse)
at runtime. If you want to use stdcxx in your program (or any
libraries it links with) you must use it exclusively without
relying on the native implementation (directly or otherwise).
Avoiding linking with the native implementation of the library
usually requires a special compiler option or two. To see what
options we use with the compilers we certify in our nightly
builds follow the first link in the State column on the
following page:


PS Please reply to

View raw message