It’s not a good idea. You end up with two different C runtimes in memory that 
cannot communicate, and many things will not work properly.

If you compile your debug build extension with the non-debug CRT (/MD rather 
than /MDd) you will lose asserts, but otherwise it will work fine and the 
quoted code picks the release lib.

Or if you like, when you install Python 3.5 or later there are advanced options 
to install debug symbols and binaries. You can use a proper debug build against 
the debug binaries (python_d.exe).

Cheers,
Steve

Top-posted from my Windows phone

From: Ivan Pozdeev via Python-ideas
Sent: Saturday, December 30, 2017 13:01
To: [email protected]
Subject: [Python-ideas] Allow to compile debug extension against releasePython 
in Windows

The Windows version of pyconfig.h has the following construct:

     if defined(_DEBUG)
            pragma comment(lib,"python37_d.lib")
     elif defined(Py_LIMITED_API)
            pragma comment(lib,"python3.lib")
     else
            pragma comment(lib,"python37.lib")
     endif /* _DEBUG */

which fails the compilation of a debug version of an extension. Making 
debugging it... difficult.

Perhaps we could define some other constant?

I'm not sure whether such compilation is a good idea in general, so 
asking here at first.

-- 
Regards,
Ivan

_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to