Box2D的编译与运行 - Hello world

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


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


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

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

Box2D的编译

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

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

Box2D的编译与运行 - Hello world_第1张图片


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

Box2D的编译与运行 - Hello world_第2张图片

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

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


Box2D的编译与运行 - Hello world_第3张图片

在workspace中选择就可以了:

Box2D的编译与运行 - Hello world_第4张图片


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

Box2D的编译与运行 - Hello world_第5张图片


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

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

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

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

Box2D的编译与运行 - Hello world_第6张图片



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”文件, 配置如下:

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

Box2D的编译与运行 - Hello world_第7张图片

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

Box2D的编译与运行 - Hello world_第8张图片



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


保存后,就可以编译了。

相关日志如下:

**** 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的编译与运行 - Hello world_第10张图片

Box2D的编译与运行 - Hello world_第11张图片


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


你可能感兴趣的:(world,hello)