Star-Killer

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 10 septembre 2008

Compiler RakNet sur Linux (2)

Ce tutoriel est plutôt une révision du tutoriel précédent qu'on peut trouver ici.

Ce qui va suivre va vous permettre de compiler Raknet sur n'importe qu'elle plateforme UNIX (et sur Windows aussi mais c'est un peu inutile). Pour ce faire on va utiliser cmake. Cette commande à ne pas confondre avec make va justement nous permettre de générer un makefile propre à notre machine. C'est bien pratique notamment pour moi qui travail sur une machine amd64.

La première chose à faire est donc de se procurer cmake. Pour les utilisateurs de Debian (-like), un :

apt-get install cmake

devrait suffire.

Ensuite on se rend dans le répertoire de RakNet grâce à cd et l'on tape :

cmake .

Veuillez noter le "." après, ce n'est pas une faute de frappe.

On enchaîne ensuite sur les grands classiques make et make install. Le .a produit devrait se trouver dans /usr/local/lib. Voilà, vous êtes enfin armé pour vaincre RakNet. Avouons tout de même une chose, la documentation de cette bibliothèque est bien pourri. C'est dit (ce qui n'enlève en rien au fait qu'elle est extrêmement puissante et simple à utiliser).

jeudi 31 juillet 2008

Compiler RakNet sur Linux

ATTENTION : Une version plus récente du tutoriel et plus générique existe ici.

ATTENTION : Il n'y a pas configure dans l'archive du site officiel. Préferez prendre le packetage sur SourceForge.

On me dit souvent que je suis un mec sympa et que j'ai la classe avec mon gros bouton sur la tempe droite (profitez-en il va bientôt mourir). On va apprendre à compiler sous du Linux et plus précisément sur une Ubuntu Hardy Heron. C'est à peu près pareille partout, que ce soit des distributions basés sur du debian, redhat ou encore Suse. Peut être même sur du BSD. Pour le peu que j'en ai touché, je ne peux dire. Nous allons voir la compilation à travers une péripétie amusante dans un but didactique.

RaKnet est une bibliothèque cross-plateform qui fait du réseau. Elle est notamment spécialisée pour faire du jeux-vidéo car elle est très performante. Sa licence est un peu similaire à FMOD. Gratuit pour les jeux indie gratuit, un peu payant pour les indies payants et cher pour les pro. Je ne vous cache pas que nous avons besoin de RaKnet pour notre super jeux à vocation multijoueur (j'en reparlerai).

Généralement sous linux, les programmes sont livrés avec leur code source et c'est à l'utilisateur de les compiler pour qu'il s'adapte aux particularités de son architecture propre. Il existe néanmoins des fichiers dit de package qui permettent de s'affranchir de cette contrainte. Mais ceci n'est pas pour les hommes. Nous allons tout faire à la main. Enfin, si les programmeurs nous ont laissés des fichiers d'autoconf. Ne soyons pas trop viril, sa nuirait à notre grain de peau.

Je disais donc qu'il doit exister un script (un fichier contenant du code bash généralement) nommé configure. Celui-ci va configurer l'installation (elle est trop forte celle-la). Le script va regarder si vous avez le bon compilo et les bonnes dépendances (ce qu'il faut pour compiler) et ensuite créer un makefile suivant ce que vous avez. Le makefile servira ensuite à compiler proprement dit. Ce fichier contient toute les instructions nécessaire pour compiler et linker les bibliothèques (compiler != linker, je dis surtout ça pour les gens utilisant des langages d'assistés comme Java).

Ensuite on exécute make install (en root c'est mieux) pour installer le bouzin. On va dans notre cas placer les header nécessaire pour programmer dans le dossier include de /usr/ et la bibliothèque (le dll sous Windows) dans /lib/.

Récapitulons :

./configure

make

sudo make install (ou on se logue en root si on est sur une distribution qui n'utilise pas sudo)

Voilà vous êtes maintenant des semi-dieu de la compilation pour les nuls sur linux.

PS : tout troll velu inséré dans cet article ne relève pas de ma responsabilité.