OK, I’ve got a plan. I use vmware for most of my build process. I’m creating a virtual machine and I’m going to install visual toolkit 2005 on it. From there, I can port panda to visual toolkit 2005.
OK, I tried building under MSVC8, and I’m having all the same problems that the others had. The real source of the trouble is that libs compiled with MSVC7 aren’t compatible with MSVC8. Unfortunately, I’m not sure I can find MSVC8 versions of all the thirdparty libraries. So this has to go on the back burner.
I suppose if I wanted to build panda at this moment, it might be easier to install linux on my test machine… as I’m fairly familiar with that, and the build-system seems to require less extra effort there.
I won’t stop looking at MSVC8, but, those 3rd party libs may be a problem, I’ll have to see what I can find out too.
Just so you know - compiling panda under MSVC8 produces a successful compile (for me), but attempting to run the executables yields a crash for unknown reasons. No time to debug right now.
No, it does not make sense. Since Python extensions need to be compiled with the same version as Python itself - and Panda3D’s Python is compiled with MSVC7.1 (2003 toolkit).
At least, that is what I know from the Python extension world.
Actually it is possible to build Python 2.4 extensions with VC 2005. But you have to be very very careful, since VC 2005 links your extension against msvcr80.dll while Python 2.4 is built using msvcr71.dll. Passing CRT resources between the two CRTs is likely to crash your program.
Also you can use MinGW to build Python 2.4 extensions.
Well, Python extension other than those distributed with Panda would require a rebuild, true. But it seems this would be of lesser incidence. In any case, ideally the build system for Panda would allow you to specify extra extensions to be built with it. (Maybe it does already and I’m not aware of that. But even if not, it does already dynamically add building for all kinds of stuff, so allowing python extensions to be built along the way shouldn’t be a big deal.)
Or do I miss anything?