On 11/14/2012 9:05 PM, Dick Hollenbeck wrote:

https://groups.google.com/forum/?fromgroups=#!topic/wx-dev/XkXyvMZZpDs

Really, even of you are inclined to say that MingW simply does not expose 
_strdup() or
strdup() when __STRICT_ANSI__
is defined, because of this in mingw's string.h:

#ifndef __STRICT_ANSI__

_CRTIMP char* __cdecl __MINGW_NOTHROW     _strdup (const char*) 
__MINGW_ATTRIB_MALLOC;

#endif


You still have to blame the wx folks for not working around the problem which 
pops up when
using -std=c++0x.


It looks like wx might be poised to provide their own

#ifndef wxCRT_StrdupA
WXDLLIMPEXP_BASE char *wxCRT_StrdupA(const char *psz);
#endif

under some circumstances.  This is one path to solution, but another one is to 
simply
provide a function prototype for _strdup() somewhere.  It is not like the 
function has
disappeared from MingW runtime libraries.  It is still there and you could link 
to it no
problem.

We could do one of these solutions but JP's commit using -std-gnuc++0x fixed this problem on MinGW but added it's own problem with the Boost polygon library. I also confirmed the Boost library problem exits on Linux using GCC 4.7.1 so I'm not sure the best course of action at this point. Do we remove the -std-gnuc++0x flag and use your original -std-c++0x flag and use one of the solutions you proposed or do we try to figure out why GCC 4.7.1 on Linux and GCC 4.7.2 on MinGW (most likely the 4.7 branch of GCC) fail to properly build Boost polygon. If I get some time tomorrow, I'll see if I can figure out the problem. At this point I cannot build KiCad on either platform.


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to