Box2D的编译与运行 - Rich Test

转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8575231


Box2D中有个比较全面的测试集,使用了GUI来对Box2D进行测试,用到的框架有GLUT,GLUI等。运行效果如下:



GLUT将使用mac上自带的,而不是压缩包下的freeGlut,所以还需要编译GLUI工程。过程如下:



====================

GLUI工程的编译

====================

1) 新建一个C++的static Library工程,命名为GLUI。方法和《Box2D的编译与运行 - Hello world》中“Box2D的编译”一致。


2)新建src目录,拷入Box2D减压包下的glui目录,如下图:

 


3)配置编译和链接环境(目前不需要处理链接信息,因为这里处理的是静态链接库的编译)。

编译需要GL,GLU和GLUT相关头文件和动态链接库。GL和GLU分别在XCode的Framework中,GLUT在X11文件夹下。

a)头文件信息:

/System/Library/Frameworks/OpenGL.framework/Headers (包含GL和GLU头文件)

/System/Library/Frameworks/GLUT.framework/Headers  (包含GLUT头文件)

因为在目前要编译的GLUI工程中,头文件引用为#include <GLUT/glut.h>等,所以我把上面的头文件分别拷贝到另外的一个目录的OpenGL和GLUI目录下。当前为: /Users/stalendp/Documents/workspace2/Box2D_v2.2.1/OpenGLLibraries.


b)动态链接库信息(动态链接库命名有规则,为libXXXX.dylib,其中XXXX为g++中“-l”的参数):

/System/Library/Frameworks/OpenGL.framework/Libraries  (其中包含GL和GLU的链接库,分别为:libGL.dylib, libGLU.dylib)

/usr/X11/lib (其中包含:glut动态链接库,叫做libglut.dylib;如果安装过X11,也包含GL和GLU)

注意动态链接库的命名。


在Eclipse中的配置截图如下:

Box2D的编译与运行 - Rich Test_第1张图片


编译完成后如下(不用管理错误,只要能够生成 Debug/libGUI.a):

Box2D的编译与运行 - Rich Test_第2张图片


========================

集成Rich Test工程

=======================

1)创建一个Executable的C++工程(RichTest),把 Box2D_vxxx解压后文件夹中的Testbd的内容直接拷入src中,如下图:

Box2D的编译与运行 - Rich Test_第3张图片



2)配置编译和链接相关信息

a)编译的时候,要用到Box2D和GLUI等头文件信息(这里包含我们编译过的Box2D和GLUI信息之外,还需要GL,GLU,GLUT等)。

b)链接的时候,要用到Box2D和GLUI的链接库之外,还需要GL,GLU,GLUT等链接库(windows下还需要GDI32等)。

配置如下:


A) 编译信息的配置


 


B)链接信息的配置 (指定链接库的名称和搜索路径,Box2D和GLUI为工程的路径,GL,GLU,GLUT在编译GLUI中讲过,请参考上面。关于链接库的命名规则:都以lib开头; 结尾静态为.o, 动态为:.dylib 。所以链接库在文件夹中的名称为:libGL.dylib, libGLU.dylib, libGLUT.dylib, libGLUI.o, libBox2D.o;   如果名称不合理,比如libGL.2.dylib, 可以使用 ln来改名)

 


编译日志如下 

Box2D的编译与运行 - Rich Test_第4张图片

编译完成后,工程如下:

 Box2D的编译与运行 - Rich Test_第5张图片


运行如下:



相关文章:

《Box2D的编译与运行 - 自己的代码》

《Box2D的编译与运行 - Rich Test》

《 Box2D的编译与运行 - Hello world


你可能感兴趣的:(游戏,入门,教程,box2D,box2D,box2D,物理引擎)