Pyrex installation on windows XP: step-by-step guide
robert.kern at gmail.com
Mon May 22 03:40:03 CEST 2006
> sturlamolden wrote:
>>I don't think this is safe. MinGW links with msvcrt.dll whereas the
>>main Python distribution links with msvcr71.dll (due to Visual C++
> In order to make minGW link with msvcr71.dll, edit the text file
> and change "-lmsvcrt" to "-lmsvcr71".
> Now MinGW will link with the same CRT as Python 2.4.
However, MinGW's header files are still written for MSVCRT.dll. IIRC, isupper()
and friends use a jump table called _ctype in MSVCRT.dll which is missing in
MSVCR71.dll. Some extensions will compile okay, some won't.
The order in which distutils adds 'msvcr71' to the list of libraries seems to
make sure that the PYD picks up free, malloc, printf, and other important
functions from MSVCR71.dll first before trying MSVCRT.dll. However, C++ modules
that use std::cout, for example, will crash.
AFAICT, there is currently no general solution for compiling Python 2.4
extension modules with MinGW. There probably won't be one unless MinGW is
patched to fully use MSVCR71.dll.
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list