{{tag>développement_de_jeux_vidéo simulation tutoriel}}
----
====== 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 =====
* Disposer d'une connexion à Internet configurée et activée.
* Avoir [[:tutoriel:comment_installer_un_paquet|installé les paquets]] **[[apt://build-essential,cmake,freeglut3-dev,libglut3-dev,glut-doc,xorg-dev|build-essential, cmake, freeglut3-dev, libglut3-dev, glut-doc et xorg-dev]]**.
* Savoir [[:zip|extraire un fichier .zip]]
===== 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:
- D'ouvrir le fichier: CHEMIN/Box2D/freeglut/freeglut_internal.h
- De rechercher la ligne ( n°111 chez moi ): # include
- De la modifier en: # include
- D'enregistrer
- 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:
* **/usr/local/include** pour les headers
* **/usr/local/lib** pour les bibliothèques
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
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 =====
* **(en)** [[http://www.box2d.org/|Site officiel]]
* **(en)** [[http://www.box2d.org/manual.html|Le manuel]]
* **(en)** [[http://www.box2d.org/forum/|Le forum officiel]]
----
//Contributeur principal : [[:utilisateurs:stereotype]].//