Embedding python into a windows application

Gordon Scott gscott2112 at adelphia.net
Wed Mar 12 10:46:39 EST 2003


Oh, and ps....

also make sure you are linking a debug lib with a debug app, and a release
lib with the release app.

"Nathan Field" <ndf at cs.hmc.edu> wrote in message
news:mailman.1047441319.19884.python-list at python.org...
> I'm having some trouble embedding python into an application, specifically
> when I call PyRun_SimpleFile my program segv's. I've found references to
> the multithreaded-dll vs. multithreaded stdlib issue with MSVC++, and this
> is indeed the problem that I have. As an experiment I rebuilt my app with
> /MD and it worked. Unfortunatly this isn't really an option for me for
> several reasons see the end of the email).
>
> What I'd like to do is rebuild python with the /MT option instead of /MD.
> Unfortunatly this doesn't seem to work, and it continues to crash the same
> way as before.
>
> Here's how I tried to do a multithread build (rather than multithread
> dll):
> Open MSVC++ v6.0 on Python-2.2.2/PCbuild/pcbuild.dsw
> Build->Set Active Configuration
> Select pythoncore - Release
> Project->Settings dialog
> C/C++ tab, select Code Generation from pulldown
> Select Multithreaded from "Use run-time library:" pulldown
> Hit ok in dialog
> Set active project to pythoncore
> Build->python22.lib
>
> I then link my application against the resulting python22.lib file, and it
> dies on the call to PyRun_SimpleFile. Does python work in /MT mode? Am I
> doing something wrong when using MSVC++?
>
> nathan
>
> The reasons I can't use /MD:
> 1. We link against a number of third party libraries that require /MT. I
> can hack our build system to avoid linking them in, but eventually I'm
> probably going to need them so that's not a solution.
> 2. We use our own compiler as well as MSVC++, and our own compiler hasn't
> been tested/may not support a /MD build.
> 3. Our build system is very complicated and it would take several days to
> rework it. I'd prefer to avoid that if possible.
>
> ------------
> Nathan Field  Root is not something to be shared with strangers.
>
> "There is no reason to eat excessive amounts of junk food, nor go more
> than once a week to McDonald's."
>         -- Ad placed by McDonald's in a popular french magazine
> (Femme Actuelle)
>
>






More information about the Python-list mailing list