Utiliser Eclipse Oxygen avec rviz2 [community-contributed]

Installation

Ce didacticiel suppose qu’Eclipse Oxygen, git et Egit (http://www.eclipse.org/egit/download/) sont déjà installés.

Tout au long du didacticiel, nous nommons l’espace de travail eclipse du même nom que le package ros2, mais ce n’est pas obligatoire.

CONSEIL : Nous utilisons des projets imbriqués et un espace de travail Eclipse pour chaque package ROS-2.

../../_images/eclipse-oxygen-01.png

Créez un projet C++.

../../_images/eclipse-oxygen-02.png ../../_images/eclipse-oxygen-03.png

Choisissez le nom du package ROS 2 comme nom du projet. Choisissez un projet Makefile et une autre chaîne d’outils.

../../_images/eclipse-oxygen-04.png

Cliquez sur Terminer

../../_images/eclipse-oxygen-05.png

Notre projet devrait être affiché dans « l’explorateur de projets ».

../../_images/eclipse-oxygen-06.png

Dans notre projet, créez un dossier appelé « src ».

../../_images/eclipse-oxygen-07.png

Importez un référentiel git.

../../_images/eclipse-oxygen-08.png

Mettez dans l’URL du référentiel.

../../_images/eclipse-oxygen-09.png

IMPORTANT : Utilisez le dossier source du projet que nous avons créé auparavant comme dossier de destination.

CONSEIL : Si vous rencontrez des problèmes pour choisir le chemin du dossier de destination, la boîte de dialogue Eclipse a besoin d’un nom dans le champ de nom.

../../_images/eclipse-oxygen-10.png

Importez à l’aide de l’assistant de nouveau projet.

../../_images/eclipse-oxygen-11.png

Créez un Général->Projet.

../../_images/eclipse-oxygen-12.png

Utilisez le nom du référentiel git comme nom de projet. IMPORTANT : Utilisez le dossier dans lequel nous avons cloné le référentiel git comme « Emplacement ».

../../_images/eclipse-oxygen-13.png

Le projet git et le nouveau projet doivent être visibles dans la vue Explorateur de projets. Les mêmes fichiers sont répertoriés plusieurs fois, mais un seul projet est lié à Egit.

../../_images/eclipse-oxygen-14.png

Répétez cette procédure à nouveau. Importez le pluginlib du référentiel git.

../../_images/eclipse-oxygen-15.png

IMPORTANT : Utilisez un dossier à l’intérieur du dossier source en tant que « Destination->Répertoire ».

../../_images/eclipse-oxygen-16.png

IMPORTANT : utilisez le dossier dans lequel nous avons cloné le référentiel git comme emplacement pour le nouveau projet.

../../_images/eclipse-oxygen-17.png

Exécutez la même procédure avec le référentiel git tinyxml2_vendor.

../../_images/eclipse-oxygen-18.png

IMPORTANT : Utilisez à nouveau un dossier à l’intérieur du dossier source.

../../_images/eclipse-oxygen-19.png

IMPORTANT : Utilisez l’emplacement du dossier que nous avons cloné comme nouveau dossier de projet.

../../_images/eclipse-oxygen-20.png

Maintenant, les quatre projets doivent être visibles dans la vue Explorateur de projets.

../../_images/eclipse-oxygen-21.png

Cliquer dans le coin supérieur droit pour la vue Explorateur de projet nous permet de changer la présentation du projet en vue hiérarchique. Maintenant, cela ressemble à un projet ROS-2 tel qu’il se trouve sur le disque dur. Mais cette vue perd le lien avec Egit, utilisez donc la présentation de projet plate. La liaison Egit est bonne si vous voulez voir par ex. quel auteur a écrit quelle ligne de code, etc.

../../_images/eclipse-oxygen-22.png

Allez dans la section « C/C++ build » et mettez « ament » dans « Build command ».

../../_images/eclipse-oxygen-23.png

Allez dans l’onglet « Comportement » et désélectionnez « nettoyer » et mettez « construire » dans la zone de texte Construire.

../../_images/eclipse-oxygen-24.png

Avant que « Build project » ne fonctionne, nous devons fermer Eclipse. Ouvrez un shell et sourcez le fichier setup.bash ROS-2, puis cd dans le répertoire du projet eclipse (ici : /home/ubu/rviz2_ws/rviz2_ws) et démarrez Eclipse depuis ce répertoire.

../../_images/eclipse-oxygen-25.png

Maintenant, la complétion de code, les annotations egit, les outils eclipse C/C++, etc. devraient tous fonctionner.

../../_images/eclipse-oxygen-26.png

Eclipse-indexer

L’ouverture du fichier main.cpp de rviz2 peut afficher de nombreux avertissements « d’inclusion non résolue ». Pour résoudre ce problème, accédez à Projet-> Propriétés-> Général C++-> Chemin et symboles. Cliquez sur l’onglet « Références » et sélectionnez « ros2_ws ».

../../_images/eclipse-oxygen-27.png

Allez dans C/C++-General->Path-and-Symbols, cliquez sur l’onglet « Source locations » et cliquez sur « Link folder ». Choisissez l’emplacement de qt5 inclus.

../../_images/eclipse-oxygen-28.png

L’image suivante devrait s’afficher. C’est une bonne idée d’ajouter des exclusions aux emplacements source, afin que certains répertoires (comme « Build » et « Install ») ne soient pas indexés.

../../_images/eclipse-oxygen-29.png

Allez dans C++General->Preprocessor includes, sélectionnez « CDT GCC Built in compiler settings [Shared] » et entrez dans la zone de texte « command to get compiler specs » ce qui suit :

-std=c++14
../../_images/eclipse-oxygen-30.png

Allez dans « C/C++-General->Indexer » et sélectionnez ce qui suit dans l’image. Par exemple, « indexez les en-têtes inutilisés en tant que fichiers c » pour résoudre par ex. QApplication, car le contenu des en-têtes QApplication est uniquement « #include « qapplication.h ».

../../_images/eclipse-oxygen-31.png

Après avoir exécuté l’indexeur (ce qui se produit plus tard, vous le verrez également plus tard), vous pouvez voir ce qu’il a ajouté

../../_images/eclipse-oxygen-32.png

Après cela, cliquez avec le bouton droit sur le projet rviz2 et sélectionnez « Indexeur-> Reconstruire », ce qui lancera la reconstruction de l’index (il y a une icône en bas à droite indiquant la progression). Une fois la reconstruction de l’index terminée, il devrait être en mesure de résoudre toutes les inclusions.

../../_images/eclipse-oxygen-33.png

Débogage avec eclipse

Allez dans « C/C++-Build » et ajoutez à la commande build :

-DCMAKE_BUILD_TYPE=Debug
../../_images/eclipse-oxygen-34.png

Ensuite, dans Eclipse, allez dans « Exécuter-> Configurations de débogage » et ajoutez ce qui suit et cliquez sur « Déboguer ».

../../_images/eclipse-oxygen-35.png