Table des matières

, ,

Installer le moteur physique Box2D

Box2D est un moteur physique 2D léger écrit par Erin Catto. Il s'intègre très facilement dans une application, et a le mérite d'être utilisable avec beaucoup de langages ( même si les exemples ici ne traiteront que de C/C++ ). D'autre part, son installation sous Linux est très simple!

Ce tutoriel décrit donc les logiciels à installer et la démarche à suivre pour installer Box2D sous Ubuntu.

Pré-requis

Première étape

La première chose à faire est évidemment de télécharger l'archive ici: http://code.google.com/p/box2d/downloads/list Cliquer sur Box2D_v2..zip ( À l'heure ou j'écris il s'agit de la version 2.1.2 ). Une fois le téléchargement effectué, il faut extraire l'archive où bon vous semble.

Deuxième étape

Allez, on entre enfin dans le vif du sujet! Ouvrir un terminal et se rendre dans le dossier fraichement extrait ( CHEMIN sera le chemin vers votre dossier, à vous de le remplacer ) :

cd CHEMIN

Descendre jusqu'au dossier Build:

cd Box2D/Build

Générer les Makefiles:

cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON ..

Compiler:

make
Lors de la compilation, une erreur peut se glisser et empêcher l'exécution totale du make. Il s'agit d'une erreur d'inclusion pour freeglut. Dans ce cas là, il suffit:
  1. D'ouvrir le fichier: CHEMIN/Box2D/freeglut/freeglut_internal.h
  2. De rechercher la ligne ( n°111 chez moi ): # include <X11/extensions/XInput.h>
  3. De la modifier en: # include <X11/extensions/XI.h>
  4. D'enregistrer
  5. De recompiler: make ( dans CHEMIN/Box2D/Build )

D'installer:

sudo make install

Cette dernière commande permet de copier les fichiers compilés dans deux dossiers:

Cela à l'avantage de simplifier la commande de compilation ( g++ … ) car il est inutile de spécifier où se situent les headers et où se situent les librairies.

En effet, le compilateur regarde automatiquement si ce qu'il cherche se trouve dans ces dossiers ( entre autres ).

Cette étape n'est pas obligatoire et si vous souhaitez placer les fichiers où bon vous semble, ou que vous ne possédez pas les droits suffisants, il n'y a aucun problème.

Troisième étape

Inclure le header dans votre programme:

#include <Box2D/Box2D.h>

Compiler votre programme:

g++ helloworld.cpp -lBox2D
Si vous n'avez pas fait le sudo make install :
g++ helloworld.cpp -ICHEMIN_VERS_LES_HEADERS -LCHEMIN_VERS_LES_LIBRAIRIES -lBox2D

Conclusion

Voilà, je vous laisse maintenant le soin de découvrir cette librairie simple et légère qui vous facilitera bien la vie et qui apportera un rendu un peu plus "réaliste" à votre petit monde virtuel!

Voir aussi


Contributeur principal : stereotype.