/LGC物理引擎/Ubuntu 下编译运行 Box2D
2010-12-29 09:09
435 查看
Ubuntu 下编译运行 Box2D
作者:
刘鹏
日期:
2009-03-16
本文介绍了在 Ubuntu 下编译运行 Box2D 的过程、方法和注意事项。
OpenGL
glut
下面介绍我的编译和安装步骤。
注意,不能使用 box2d 首页上提供的源码包,我最初使用那个包,编译报错,出错信息如下所示:
作者硬编码写的源文件路径,你的目录往往与该作者的路径不同,需要修改成自己的路径。在 Makefile 中搜索 drayan ,把路径改成自己的。我的修改如下所示:
开发的 GUI 库,它为 OpenGL 应用程序提供了许多控件,如 button, checkbox, radio button,
spinner 等。它独立于窗口系统,使用 GLUT 或者 FreeGLUT。
从 http://sourceforge.net/projects/glui/
下载,我下的是 2.36 版本。
解开压缩包,进入 glui-2.36/src 目录,运行 make ,之后在 glui-2.36/src/lib 目录下的 libglui.a 是编译出来的静态库,在 glui-2.36/src/inlcude/GL 目录下的 glui.h 是头文件。
将 libgui.a 拷到 /usr/lib 目录下,将 glui.h 拷到 /usr/include 目录下。
进入 Box2D_v2.0.1-cmake/Box2D/Examples/TestBed 目录,打开 Makefile 文件,修改
PROJECT, CXXFLAGS ,LDFLAGS 三项。我的 GLUI 库和头文件都放在 /usr 目录,我把 PROJECT 改成
/usr,CXXFLAGS 和 LDFLAGS 分别做想应修改。
如下面的代码所示。
,不出意外可以正常编译通过了。此时在 Box2D_v2.0.1-cmake/Box2D/Examples
目录下可以看到编译出来的可执行文件了:helloworld 和 framework.
运行 framework,应该可以看到 testbed 运行起来了,截图如下所示:
Linux (Ubuntu) Intalling Problems and Guide discussion at Box2D forum
作者:
刘鹏
日期:
2009-03-16
本文介绍了在 Ubuntu 下编译运行 Box2D 的过程、方法和注意事项。
我的环境
Ubuntu 8.10OpenGL
glut
下面介绍我的编译和安装步骤。
下载正确的源码包
下载 Box2D_v2.0.1-cmake.tar.bz2 文件,链接地址是 http://www.box2d.org/forum/download/file.php?id=365注意,不能使用 box2d 首页上提供的源码包,我最初使用那个包,编译报错,出错信息如下所示:
Dynamics/Contacts/b2PolyContact.cpp:53: error: ‘memcpy’ was not declared in this scope
解压包并修改 Makefile 文件
解压下载的包,进入 Box2D_v2.0.1-cmake/Box2D 目录,Makefile 里有几行是作者硬编码写的源文件路径,你的目录往往与该作者的路径不同,需要修改成自己的路径。在 Makefile 中搜索 drayan ,把路径改成自己的。我的修改如下所示:
... # The top-level source directory on which CMake was run. CMAKE_SOURCE_DIR = /home/liupeng/work/box2d/box2d_cmake/Box2D_v2.0.1-cmake/Box2D # The top-level build directory on which CMake was run. CMAKE_BINARY_DIR = /home/liupeng/work/box2d/box2d_cmake/Box2D_v2.0.1-cmake/Box2D ... # The main all target all: cmake_check_build_system $(CMAKE_COMMAND) -E cmake_progress_start / /home/liupeng/work/box2d/box2d_cmake/Box2D_v2.0.1-cmake/Box2D/CMakeFiles / /home/liupeng/work/box2d/box2d_cmake/Box2D_v2.0.1-cmake/Box2D/CMakeFiles/progress.make $(MAKE) -f CMakeFiles/Makefile2 all $(CMAKE_COMMAND) -E cmake_progress_start /home/liupeng/work/box2d/box2d_cmake/Box2D_v2.0.1-cmake/Box2D/CMakeFiles 0 .PHONY : all
下载并安装 GLUI 库
box2d 在 linux 下运行需要使用 GLUI 库,GLUI 是一个基于 GLUT 的使用 C++开发的 GUI 库,它为 OpenGL 应用程序提供了许多控件,如 button, checkbox, radio button,
spinner 等。它独立于窗口系统,使用 GLUT 或者 FreeGLUT。
从 http://sourceforge.net/projects/glui/
下载,我下的是 2.36 版本。
解开压缩包,进入 glui-2.36/src 目录,运行 make ,之后在 glui-2.36/src/lib 目录下的 libglui.a 是编译出来的静态库,在 glui-2.36/src/inlcude/GL 目录下的 glui.h 是头文件。
将 libgui.a 拷到 /usr/lib 目录下,将 glui.h 拷到 /usr/include 目录下。
修改 TestBed 的 Makefile
安装了 GLUI 后还需修改 TestBed 的 Makefile 文件,将 GLUI 库和头文件路径改成你自己的。进入 Box2D_v2.0.1-cmake/Box2D/Examples/TestBed 目录,打开 Makefile 文件,修改
PROJECT, CXXFLAGS ,LDFLAGS 三项。我的 GLUI 库和头文件都放在 /usr 目录,我把 PROJECT 改成
/usr,CXXFLAGS 和 LDFLAGS 分别做想应修改。
如下面的代码所示。
TARGETS= Gen/float/testbed Gen/fixed/testbed #PROJECT= ../.. PROJECT= /usr #CXXFLAGS= -g -O2 -I$(PROJECT)/Contrib -I$(PROJECT)/Include -DGLUI_FREEGLUT CXXFLAGS= -g -O2 -I$(PROJECT)/lib -I$(PROJECT)/include -DGLUI_FREEGLUT #LDFLAGS= -L$(PROJECT)/Contrib/freeglut -L$(PROJECT)/Contrib/glui / LDFLAGS= -L$(PROJECT)/lib -L$(PROJECT)/lib / ... ...
编译 Box2D
回到 Box2D_v2.0.1-cmake/Box2D 目录,运行 make,不出意外可以正常编译通过了。此时在 Box2D_v2.0.1-cmake/Box2D/Examples
目录下可以看到编译出来的可执行文件了:helloworld 和 framework.
运行 framework,应该可以看到 testbed 运行起来了,截图如下所示:
参考
Box2D with LinuxLinux (Ubuntu) Intalling Problems and Guide discussion at Box2D forum
相关文章推荐
- /LGC物理引擎/在 Eclispe 中编译运行 jbox2d
- /LGC物理引擎/Box2D:一个 2D rigid body 物理引擎
- ubuntu 下 cocos2dx游戏引擎搭建 编译和使用(可以在linux桌面 安卓手机运行)
- /LGC物理引擎/Android port of Box2d
- /LGC物理引擎/javascript 版的 Box2D
- ubuntu 64 编译sdk,运行android命令出现错误
- 下载、编译、运行android 7.1系统(ubuntu 16.0.4)【转】
- (译)在cocos2d里面如何使用物理引擎box2d:弹球
- ubuntu14.04编译和运行 fast rcnn
- Ubuntu14.4+CMake3.9+Opencv3.3 运行Seetaface编译出错解决
- ubuntu编译运行xv6
- 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS
- 基于HTML5的WebGL结合Box2DJS物理引擎应用
- 物理引擎Box2D之关联及关联定义
- 如何在ubuntu14.04(64位)编译运行32位程序
- Ubuntu下DirectFB的编译安装,样例程序编译及运行体验
- Ubuntu14.0.4下,shell编译-打包-运行Hadoop2.7.2的MapReduce程序
- APE 物理引擎与 Box2D 物理引擎对比(初学)
- 如何在ubuntu14.04(64位)编译运行32位程序
- 《Swift入门》ubuntu下编译运行Swift开发的Web后端示例