stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duft Markus" <>
Subject AW: boost ?!
Date Tue, 19 Sep 2006 12:07:03 GMT
OMG, i'm so blind...... I messed up 12d and 15d, maybe those should get other names ;o) now
it's all clear why it can't work....

Anyway thanks for your time, and sorry for messing around in here!

Cheers, Markus 

-----Urspr√ľngliche Nachricht-----
Von: Duft Markus [] 
Gesendet: Dienstag, 19. September 2006 09:37
Betreff: AW: boost ?!

Hm, the struct thing was completely wrong, sorry....

Ok, i just digged a little into this:

For example one of the unresolved symbols is:


Which would be:

__declspec(dllimport) public: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::begin(void)

The Stdcxx library has symbols some symbols which are close:


Which would be:

__imp_public: class __rw::__rw_debug_iter<class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,char *,char *> __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::begin(void)

I now think that somehow there is a problem with the headers thinking they need to compile
debug iterators (in build 15d!?) and when using the lib, they think something else ;o// i
looked at my config.h but there was nothing i could see in there. I attached it, maybe you
can see something.

Cheers, Markus

-----Urspr√ľngliche Nachricht-----
Von: Martin Sebor []
Gesendet: Montag, 18. September 2006 17:34
Betreff: Re: boost ?!

Duft Markus wrote:
> Hey again!
> I'm currently fighting to get boost compiled with stdcxx... ;o) It 
> seems, that boost uses both char and wchar_t versions of methods from 
> stdcxx, which at least seems to compile, but cannot link, since there 
> is no wchar_t impl in the stdlib15d.lib/.dll. Now my question is: can 
> i somehow use 15d and 15D together on windows, so that both kind of 
> symbols are present?

The difference between 15d and 15D is that the first is a 32-bit build type (ILP32) while
the second is a 64-bit or wide one (LLP64 on Windows). The "wide" has nothing to do with wchar_t,
it refers to the width of the data type(s).

Stdcxx has full support for wchar_t as long as the compiler supports it. Keep in mind that
the MSVC /Zc:wchar_t option changes the type and mangling of wchar_t and thus is a binary
incompatible option.
Programs that link with the library must be compiled with same setting of the option as the
library (i.e., both on or both off).


> And there seem to be some differences from windows STL to this one in 
> which files get included automatically from other includes and so on, 
> since i need to explicitly include some files for some things to work 
> (like std::hex and std::dec are not found, except i include istream or
> so....)

Stdcxx is much less promiscuous (i.e., a lot cleaner) than other implementations of the C++
standard library when it comes to its headers introducing unnecessary names into scope. std::hex
and other manipulators are required to be declared in the header <ios> and nowhere else
so in order to use them you must include that header.


View raw message