Panda3D提供两套独立的编译方法: ppremake和makepanda,前者十分复杂,后者较简单,且前者正被后者所取代。那毫无疑问我们用makepanda。两种编译方法的详细描述见doc下的INSTALL-PP 、INSTALL-MK。
makepanda目前支持VC7.1,VC7.0和Visual Toolkit 2003(后两个没试),因为源代码包里只提供用VC7编译的第三方库,所以你要用VC8的话应该需要VC8编译的第三方库。DirectX SDK、Python、Maya SDK、Max SDK都不是必须的,我只安装了VS.net 2003。最简单的方法是命令行:D:/panda3d- 1.3.2 >makepanda/makepanda --everything,回车(注意一定要在源码根目录下)。我的机器(奔腾D 2.8G ,内存 1G )大约一个小时编译完。
如果你同时安装了VS.net2003和VS2005的话,要将makepanda/makepanda.py文件“#Try to use Visual Studio 8 ” 和“#Try to use Visual Studio 7 ” 中间那段代码注释掉,否则编译不了。
编译结果显示如下,没找到的SDK都自动给添上--no参数。
-------------------------------------------------------------------
Makepanda Final Status Report
Makepanda: Compiler: MSVC
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF VRPN FMODEX NVIDIACG NSPR OPENSSL
FREETYPE FFTW BISON FLEX FFMPEG PANDATOOL PANDAAPP
Makepanda: Omit Pkg: MILES MAYA6 MAYA65 MAYA7 MAX6 MAX7 MAX8 DX8 DX9
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don't generate API reference manual
Makepanda: Don't build installer
Makepanda: Version ID: 1.3.0
Makepanda: I cannot locate SDK for DX8
Makepanda: I have automatically added this command-line option: --no-dx8
Makepanda: I cannot locate SDK for DX9
Makepanda: I have automatically added this command-line option: --no-dx9
Makepanda: The registry does not appear to contain a pointer to the MAYA6 SDK.
Makepanda: I have automatically added this command-line option: --no-maya6
Makepanda: The registry does not appear to contain a pointer to the MAYA65 SDK.
Makepanda: I have automatically added this command-line option: --no-maya65
Makepanda: The registry does not appear to contain a pointer to the MAYA7 SDK.
Makepanda: I have automatically added this command-line option: --no-maya7
Makepanda: The registry does not appear to contain a pointer to MAX6
Makepanda: I have automatically added this command-line option: --no-max6
Makepanda: The registry does not appear to contain a pointer to MAX7
Makepanda: I have automatically added this command-line option: --no-max7
Makepanda: The registry does not appear to contain a pointer to MAX8
Makepanda: I have automatically added this command-line option: --no-max8
Makepanda: Using visual studio: C:/Program Files/Microsoft Visual Studio .NET 20
03/
Makepanda: makepanda currently does not support miles sound system
Makepanda: I have automatically added this command-line option: --no-miles
Makepanda: Elapsed Time: 56 min 49 sec
-------------------------------------------------------------------
编译产生的文件都在D:/panda3d- 1.3.2 /built下,整个文件夹有1.32GB之巨。接下来测试一下编译结果。D:/panda3d-1.3.2/built/bin下生成的可执行程序比安装版少了maya2egg等几个模型转换工具。将D:/panda3d-1.3.2/built/python和D:/panda3d-1.3.2/built/bin添加到系统Path变量,控制台到目录D:/panda3d-1.3.2/samples/GreetingCard输入命令D:/panda3d-1.3.2/samples/GreetingCard>ppython GreetingCard.py回车,熊猫又出来表演了。方便的话把D:/panda3d-1.3.2/samples拷贝到D:/panda3d- 1.3.2 /built下,删除tmp文件夹,把D:/panda3d-1.3.2/built下所有内容拷贝到某个你喜欢的地方如C:/panda3d,删除其他文件就可以了,还有别忘了重设Path。