Utiliser Eclipse Oxygen avec rviz2
[community-contributed]
Table des matières
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.

Créez un projet C++.


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

Cliquez sur Terminer

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

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

Importez un référentiel git.

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

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.

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

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

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 ».

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.

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

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

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

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

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

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

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

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.

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

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

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.

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

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 ».

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.

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.

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

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 ».

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é

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.

Débogage avec eclipse
Allez dans « C/C++-Build » et ajoutez à la commande build :
-DCMAKE_BUILD_TYPE=Debug

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