平台是Ubuntu 10.04,Box2D版本为v2.1.2,Box2D采用cmake作为其编译系统。
按照Building.txt的步骤如下:($BOX2DPATH为box2d源码所在路径)
cd $BOX2DPATH/Build
cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON ..
make
make install
也可以在调用cmake时增加-DCMAKE_INSTALL_PREFIX=/opt/Box2D来自定义安装位置。
在make的过程中出现两个小问题
1) error: X11/extensions/XInput.h: No such file or directory
解决办法:
sudo apt-get install libxi-dev
2) 大量的OpenGL调用的引用没找到,这是因为没有链接Open GL的相关库,GL和GLU。
解决办法:
进入Build/Testbed/CMakeFiles/Testbed.dir/link.txt,在文件的指定链接Open GL的库所在的路径以及Open GL的库。在我的机器上,我增加了如下内容:
-L/usr/lib/mesa -lGL -lGLU
至此,问题解决,Box2D编译通过,Testbed可以运行了, enjoy it。