平臺是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。