Compiler

Windows

Pour l'instant nous supportons uniquement la compilation avec Mingw sous windows. Nous recommandons d'utiliser DevCpp (qui utilise le compilateur Mingw) pour compiler vos projets. Nous fournissons un projet DevCpp de démonstration dans URBI_DIRECTORY/doc/sample. Le répertoire contient deux fichiers:

  • sample.dev: le fichier du projet DevCpp
  • helloworld.cpp: un exemple d' UObject qui affiche "Hello World !" à l'initialisation. Vous remplacerez ce fichier par votre propre fichier UObject.

Si vous ne voulez pas utiliser le projet d'exemple DevCpp, vous aurez à faire ce qui suit: compilez vos fichiers UObject et liez les avec les bibliothèques que nous fournissons afin de générer un fichier éxécutable que vous nommerez urbi.exe. Voila la liste des options que vous aurez à fournir à votre compilateur:

  • Répertoire à inclure: URBI_DIRECTORY/SDK/include. qui est par défaut c:\Program Files\GOSTAI\URBI Webots 1.0\SDK\include
  • Répertoire des bibliothèques:
    • URBI_DIRECTORY/SDK/lib. qui est par défaut c:\Program Files\GOSTAI\URBI Webots 1.0\SDK\lib.
    • WEBOTS_DIRECTORY/lib. qui est par défaut c:\Program Files\Webots\lib.
  • bibliotheques avec lequelles vous devez lier votre exécutable:
    • liburbicore.a: vous aurez à préciser que vous voulez que tous les symboles de la librairie soient inclus, pour cela vous aurez à ajouter l'option -whole-archive à la ligne de liaison. Vous devrez l'écrire comme suit: "-Wl,-whole-archive -lurbicore -Wl,-no-whole-archive"
    • libjpeg.a: vous devrez lier votre executable avec la bibliothèque statique libjpeg que nous fournissons dans URBI_DIRECTORY/SDK/lib
    • libeay32.dll
    • libController.dll
    • ws2_32.dll
    • libgdi32.dll
    • Iphlpapi.dll
    • libboost_thread-mt.a

Nous distribuons séparément quelques versions précompilées de la blibliothèque boost 1.3.1. Vous pouvez la télecharger pour mingw ici: http://www.gostai.com/boost/. A nouveau nous recommandons fortement d'utiliser le fichier de démonstration devcpp que nous vous fournissons.

Linux et MacOs

Pour compiler sous linux utilisez umake. Référez vous à la documentation sur le site web de Gostai: http://www.gostai.com/doc/en/umake/. Pour une installation par défaut de Webots et d'URBI pour webots, vous avez juste à être dans le répertoire contenant les sources de vos UObjects et de taper la commande:

$ umake-engine -C webots -o urbi

Important: Depuis la release 1.5 vous devez aussi lier votre exécutable avec la bibliothèque boost 1.34.1. En particulier la bibliothèque libboost_thread. Sous linux nous fournissons ces bibliothèques compilées sur cette page: http://www.gostai.com/boost/. Sont disponible les versions binaires sous linux compilée avec gcc4.1 et gcc3.3. Si vous utilisez une version différente de la libstdc++ que celle utilisé par ces compilateur vous devrez recompiler la bibliotheque boost vous meme. Pour récuperer les sources: http://www.boost.org/ Sous Mac nous ne fournissons pas de binaires de boost. Vous pouvez les obtenir en utilisant le système de gestion de paquet MacPorts http://www.macports.org ou en compilant à partir des sources.