Box2D的编译与运行 - Hello world

来源:互联网 发布:软件大学生职业规划 编辑:程序博客网 时间:2024/06/05 17:08

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


最近在编写一个手机游戏,用到Box2D,学习后顺带写了这几篇文章。


整合的方式:把Box2D编译成static Lib, 然后整合

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

Box2D的编译

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

1)新建一个名为Box2D的static Library工程,如下图:



2) 新建src目录,把 Box2D_vxxx解压后文件夹中的Box2D直接拷入src中,如下图:


3)因为某些包使用 "#include<Box2d/xxx>" ,所以要在环境变量中含有Box2D的目录,配置如下:

打开工程的属性编辑页面(右击工程,选择properties),在弹出的对话框中选择“GCC C++ Compiler”, 把工程中的src目录到include的path中,如下图:(添加时,按



在workspace中选择就可以了:



确定后,就可以编译了。编译后的工程如下图(出现了Archives/libBox2D.a):



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

运行第一个简单的例子: Hello, world

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

1) 创建一个Executable的C++工程(Box2dTest),如下图:




2)新建src目录,把Box2D解压包下的HelloWorld 下的HelloWorld.cpp放到src文件夹下,如下图:




3) 配置Box2D的路径,架设第一个工程的目录为:/Users/stalendp/Documents/workspace2/Box2D_v2.2.1/Box2D, 其目录结构为:

Box2D/ Debug/libBox2D.o…../src/Box2D/Rope/Dynamics/Common/CollisionBox2D.h….


目前工程,在编译期间,需要头文件信息,在链接的时候需要“libBox2D.o”文件, 配置如下:

指定头文件位置----方法一:


指定头文件位置----方法二:




指定链接库的位置(需要指定lib的名称和搜索路径,注意Box2D在文件系统中的名称为 libBox2D.o, 其实这个指定的时g++的“-l”参数):


保存后,就可以编译了。

相关日志如下:

**** Build of configuration Debug for project Box2dTest ****


make all 

Building file: ../src/HelloWorld.cpp

Invoking: GCC C++ Compiler

g++ -I/Users/stalendp/Documents/workspace2/Box2D_v2.2.1/Box2D/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/HelloWorld.d" -MT"src/HelloWorld.d" -o "src/HelloWorld.o" "../src/HelloWorld.cpp"

Finished building: ../src/HelloWorld.cpp

 

Building target: Box2dTest

Invoking: MacOS X C++ Linker

g++ -L/Users/stalendp/Documents/workspace2/Box2D_v2.2.1/Box2D/Debug -o "Box2dTest"  ./src/HelloWorld.o   -lBox2D

Finished building target: Box2dTest

 


**** Build Finished ****


编译和运行的情况如下:

   


相关阅读:《Box2D的编译与运行 - Rich Test》


原创粉丝点击