And in mingw-w64, the only way to select a non-default CRT

what is a "default" CRT in this case?? 

CRT issues are indeed tricky, because they only bite in certain circumstances -- so long as you never pass a FILE* or a fileno across the dll boundary, or call malloc in one module and free in the other, or ...

Which happens to be EXACTLY what I'm needing to do right now....

then it works fine. Except when it doesn't :-).

yup -- a new developer on my team spent yesterday bangin his head agaist this -- then asked "I'm compiling the lib with VS2013, the the python extension with VS2008, could that be the problem? -- uh, yes?

The Python core developers made the decision a long time ago to use the MS compilers for the "official" distributions -- as they are the "platform" compilers. And as far as I know, everyone else has followed that path for compatibility (Enthought Canopy, Anaconda, ActiveState) (except cygWin, but that's not really the Windows platform, IFAIC). Given MS decision to both: tie the compiler tightly to the run-time, AND make it hard to get old versions of the compiler, that's turned out to be a pain. But I suspect there have been real advantages over, for instance, building the whole thing on MinGW.

But in any case, that's what we've got -- and it would be really nice  to support teh community as best we can, as has been done fro Python2.7 with updates to setuptools and the MS download of the old VS2008. 

It sounds like we don't expect MS t help out in this case, but at least we can better document what users need to do, and how to do it -- and NOT with a "kludge together an open-source compiler and cross your fingers" approach.

OK -- I'm going to get off my soap box now -- time to actually suggest doc patches....

-Chris

--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker@noaa.gov