2.4 在LINUX C++(www.cppentry.com)中运行第一个程序(1)
现代游戏往往不只采用一种语言开发,尤其需要使用脚本语言实现动态交互,以便向用户开放更多的游戏资源。因此,即便开发者青睐于C++(www.cppentry.com),也应该掌握上一节的有关内容。下来专门介绍使用Eclipse Helios等开发C++(www.cppentry.com)语言版本的"你好,大熊猫"。
首先需要通过简单的测试确保能够通过C++(www.cppentry.com)程序调用Panda3D引擎。在mytest.cxx中编写保存以下代码:
- #include "pandaFramework.h"
- #include "pandaSystem.h"
-
- PandaFramework framework;
-
- int main(int argc, char *argv[]) {
- //打开一个新窗口框架
- framework.open_framework(argc, argv);
- //设置窗口标题
- framework.set_window_title("Test Panda3D Game Engine");
- //打开窗口
- WindowFramework *window = framework.open_window();
-
- //其他代码
-
- //程序主循环,与Python脚本中的run()等价
- framework.main_loop();
- //关闭窗口及框架
- framework.close_all_windows();
- framework.close_framework();
- return (0);
- }
有关源代码位于配书光盘中Ch2目录的CXX子目录。
接着,依次在mytest.cxx所在的Linux系统目录下输入编译及连接命令:
- g++ -c mytest.cxx -o mytest.o -fPIC -O2 -I/
usr/include/python2.6/ -I/usr/include/panda3d/ - g++ mytest.o -o mytest -fPIC -L/usr/lib/
-L/usr/lib/panda3d -lp3framework -lpanda -lpandafx
-lpandaexpress -lp3dtoolconfig -lp3dtool -lp3pystub -lp3direct
第一个命令生成mytest.o,第二个命令生成mytest可执行文件,运行结果见图2.8。
|
| 图2.8 在LINUX中测试通过C++(www.cppentry.com)调用PANDA3D引擎 |
采用GNU g++编译C++(www.cppentry.com)源文件、连接目标文件(.o)及库时,一般命令格式为:
- #编译
- g++ -c filename.cxx -o filename.o -fPIC -O2 -I{pythoninclude} -I{panda3dinclude}
-
- #连接
- g++ filename.o -o filename -fPIC -L{panda3dlibs}
-lp3framework -lpanda -lpandafx -lpandaexpress -lp3dtoolconfig
-lp3dtool -lp3pystub -lp3direct
上述命令中,有关参数所对应的路径及库文件如表2.3所示。如果源代码仅一两个文件,采用这种方式非常简单,如果是一个比较大的工程,行命令编译连接方式不可取,我们将采用Eclipse Helios构造编译整个工程。有关方式稍后再作说明。采用GNU g++编译C++(www.cppentry.com)源文件、连接目标文件(.o)及库时,一般命令格式为:
- #编译
- g++ -c filename.cxx -o filename.o -fPIC -O2 -I{pythoninclude} -I{panda3dinclude}
-
- #连接
- g++ filename.o -o filename -fPIC -L{panda3dlibs}
-lp3framework -lpanda -lpandafx -lpandaexpress -
lp3dtoolconfig -lp3dtool -lp3pystub -lp3direct