win32 python as a dll?

Scott Wolford wolford at enews.nrl.navy.mil
Thu Jul 8 16:51:39 EDT 1999


I've finally got it. The answer below is basically it but it's even
trickier than that. You can't link an application with python.lib and
msvcrtd.lib; you *must* link with msvcrt.lib. Very subtle difference but
very important because when python.lib was linked, it was linked with
msvcrt.lib and the application can't then bring in msvcrtd.lib. I do think
this is a problem because python15_d.lib is provided but no python15_d.dll
is. I would think you'd provide (at the very least) python.lib linked with
msvcrt.lib, and python_d.lib linked with msvcrtd.lib (and the dlls), or
(to be really nice :) all four combinations. Don't get me wrong; I think
it's a great service to provide the pre-compiled package. I just want to
see it be the best it can be, so others can avoid this juicy trap. If
anyone wants the sample code I used (and compile/link instructions), just
email me.

Thanks alot for the help,
Scott

Gordon McMillan wrote:

> Probably the most common mistake of Windows embedders is to link to
> the wrong C runtime lib. Python uses Multithreaded DLL.
>
> But you might have done something more creative. Telling us how and
> when it bombs complete with messages and as small a code sample as
> possible will get you more and better answers.
>
> - Gordon





More information about the Python-list mailing list