Martin v. Löwis wrote:
Thomas Heller wrote:
return Py_BuildValue("HHHHs", ver.dwMajorVersion, ver.dwMinorVersion, ver.dwBuildNumber, ver.dwPlatformId, ver.szCSDVersion);
The crash disappears if I change the first parameter in the Py_BuildValue call to "LLLLs". No idea why. With this change, I can start the exe without a crash, but sys.versioninfo starts with (IIRC) (2, 0, 5,...).
Very strange. What is your compiler version (first line of cl /?)?
I have looked into this. In the latest SDK (2003 SP1), Microsoft has changed the include structure; there are no separate amd64 subdirectories anymore. Then, cl.exe was picking up the wrong stdarg.h (the one of VS 2003), which would not work for AMD64.
I have corrected that in vsextcomp, but I will need to check a few more things before releasing it.
I've upgraded to vsextcomp0.8. On XP (32-bit), I can compile python25.dll and python.exe for AMD64 now, after adding bufferoverflowU.lib to the linker options. And the exe even works on XP-64 ;-) When trying to build on XP64, I get errors like these (if it helps, I can upload the complete buildlogs somewhere): ------ Rebuild All started: Project: make_buildinfo, Configuration: Release Win32 ------ Deleting intermediate files and output files for project 'make_buildinfo', configuration 'Release|Win32'. Compiling... ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ Error : Could not create new temporary options response file------ CL.EXE Wrapper for VSExtCompiler Plugin ------ ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ (lots of these lines removed) ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ Linking... ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ Error : Could not create new temporary options response file------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ (lots of these lines removed) ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ Build log was saved at "file://c:\devel\trunk\PCbuild\x86-temp-release\make_buildinfo\BuildLog.htm" make_buildinfo - 0 error(s), 0 warning(s) ------ Rebuild All started: Project: make_versioninfo, Configuration: Release Win32 ------ Deleting intermediate files and output files for project 'make_versioninfo', configuration 'Release|Win32'. Compiling... ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ Error : Could not create new temporary options response file------ CL.EXE Wrapper for VSExtCompiler Plugin ------ ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ (lots of these lines removed) ------ CL.EXE Wrapper for VSExtCompiler Plugin ------ Linking... ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ Error : Could not create new temporary options response file------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ (lots of these lines removed) ------ LINK.EXE Wrapper for VSExtCompiler Plugin ------ Performing Custom Build Step '.\make_versioninfo.exe' is not recognized as an internal or external command, operable program or batch file. Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step" Build log was saved at "file://c:\devel\trunk\PCbuild\x86-temp-release\make_versioninfo\BuildLog.htm" make_versioninfo - 1 error(s), 0 warning(s)