Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
box2d [Le 22/09/2010, 08:39] stereotype |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Box2D tutoriel}} | ||
- | ---- | ||
- | |||
- | ====== Installer le moteur physique Box2D ====== | ||
- | |||
- | Ce tutoriel décrit les logiciels à installer et la démarche à suivre pour installer le moteur physique Box2D sur Ubuntu. | ||
- | Box2D est un moteur physique 2D léger écrit par Erin Catto. Il s'intègre très facilement dans une application et à 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! | ||
- | |||
- | ===== Pré-requis ===== | ||
- | |||
- | * Disposer d'une connexion à Internet configurée et activée. | ||
- | * Avoir installé les paquets [[apt://build-essential]] et [[apt://cmake]] | ||
- | * Savoir dé-zipper un fichier .zip | ||
- | |||
- | ===== Première étape ===== | ||
- | |||
- | La première chose à faire est évidemment de télécharger la librairie 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 la librairie 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 de 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'' | ||
- | |||
- | <note warning>Lors de la compilation, une erreur peut se glisser et empecher l'éxé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 <X11/extensions/XInput.h> | ||
- | - De la modifier en: # include <X11/extensions/XI.h> | ||
- | - D'enregistrer | ||
- | - De recompiler: make ( dans CHEMIN/Box2D/Build ) | ||
- | </note> | ||
- | |||
- | 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 librairies | ||
- | 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 ). | ||
- | |||
- | <note tip>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.</note> | ||
- | |||
- | ===== Troisième étape ===== | ||
- | |||
- | Inclure le header dans votre programme: | ||
- | |||
- | ''#include <Box2D/Box2D.h>'' | ||
- | |||
- | Compiler votre programme: | ||
- | |||
- | ''g++ helloworld.cpp -lBox2D'' | ||
- | |||
- | <note tip>Si vous n'avez pas fait le ''sudo make install'' : | ||
- | |||
- | ''g++ helloworld.cpp -ICHEMIN_VERS_LES_HEADERS -LCHEMIN_VERS_LES_LIBRAIRIES -lBox2D'' | ||
- | </note> | ||
- | |||
- | ===== 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/]] | ||
- | |||
- | ---- | ||
- | //Contributeurs principaux : [[:utilisateurs:stereotype]].// | ||