Box2D的编译与运行 - Hello world

转发,请保持地址: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
		/Collision
		Box2D.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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值