Hi everybody... I'm hoping one of you reading this can help me out here. I'm having trouble getting pywin32 to build with Visual Studio 2005. But first, some background.
I'm embedding Python in an MFC application. I've manually built Python .lib and .dll files using Visual Studio 2005 from the solution/ project files in the PCBuild8 folder. I've got a totally happy, working Python interpreter in my MFC application. When I use pre-built pywin32 packages, some strange crashes occur. Specifically, if I import win32com.server.register and call the RegisterClasses function, I get a complaint regarding an attempt to free unallocated memory. Now, my theory on this issue is that DLLs like win32api.pyd, which I acquired pre-built, were built with Visual Studio 2003, and they depend on msvcr71.dll. My Python/MFC application, on the other hand, was built with Visual Studio 2005, and is linking with msvcr80.dll. If memory gets allocated through one DLL, and an attempt is made at freeing it in the other DLL, bad things can happen, since the freeing DLL doesn't have any header information on the allocated memory. In order to test this theory (and potentially fix it), I want to re- build the pywin32 stuff using Visual Studio 2005. Now I've never built pywin32, so please excuse any "noobness" from here on out. I downloaded the pywin32-210.zip source from sourceforge. I tried running "setup.py build" per the Readme, and I received the following message. Warning - can't find an installed platform SDK error: Python was built with Visual Studio 2003; extensions must be built with a compiler that can generate compatible binaries. Visual Studio 2003 was not found on this system. if you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py. (Note that I don't have the Platform SDK - This is a Vista machine, so I've got what they now are calling the Windows SDK. If it ends up being a problem, I'll tackle it when it shows up) The logical conclusion to jump to from this error message is that pywin32 is trying to build with VS2005, but it thinks that Python was built with VS2003. Well, in a manner of speaking, that is true. I did have a regular Python installation in C:\Python25, straight from one of the MSI installers. That regular Python installation was undoubtedly compiled with VS2003. I guess what I need to do is find a way to replace the default installation, or certain files within it, with stuff I compiled myself using VS2005. I tried replacing all of the python25[_d].dll and python[w][_d].exe files with those that I built, and that isn't helping. I considered creating a Python installer with the msi.py that is included in the Python Source, but that requires pywin32 (according to the README), and that's what I'm trying to build. I tried going through the setup.py code to find out where it is acquiring this "Python was built with Visual Studio 2003" information, but I keep getting lost in the code, so I can't figure out which, if any, file(s) to change/replace. -- http://mail.python.org/mailman/listinfo/python-list