2017-08-23 5 views
1

Tout en faisant catkin_make ROS_MRPT_SLAM, je me suis erreur suivantA propos de package ROS_RMPT_SLAM compilation problème

In file included from /usr/include/mrpt/base/include/mrpt/utils/CFileGZInputStream.h:12:0, 
       from /home/ian/catkin_ws/src/mrpt_slam/mrpt_ekf_slam_2d/include/mrpt_ekf_slam_2d/mrpt_ekf_slam_2d.h:11, 
       from /home/ian/catkin_ws/src/mrpt_slam/mrpt_ekf_slam_2d/src/mrpt_ekf_slam_2d.cpp:7: 
/usr/include/mrpt/base/include/mrpt/utils/CStream.h: In member function ‘void mrpt::utils::CStream::WriteVariant(T)’: 
/usr/include/mrpt/base/include/mrpt/utils/CStream.h:313:15: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14 
    t.match([&](auto& o) { this->WriteObject(o); }); 
      ^
/usr/include/mrpt/base/include/mrpt/utils/CStream.h: In lambda function: 
/usr/include/mrpt/base/include/mrpt/utils/CStream.h:313:45: error: no matching function for call to ‘mrpt::utils::CStream::WriteObject(int&)’ 
    t.match([&](auto& o) { this->WriteObject(o); }); 

Je suppose qu'il est question de la compatibilité ou quelque chose parce qu'il y avait l'absence de fichiers d'en-tête et ainsi de suite.

C'est le ROS_PACKAGE wiki: http://wiki.ros.org/mrpt_slam

Et je viens de suivre l'instruction sur le site officiel de mrpt.

Si le développeur ou toute personne qui connaît mrpt toolkit voit cette question, puis-je obtenir des conseils sur ces erreurs? Par ailleurs, j'ai installé mrpt toolkit en suivant les instructions du site Web suivant: http://www.mrpt.org/MRPT_in_GNU/Linux_repositories.

+0

Je me demande toujours pourquoi je ne trouve pas de fichier d'en-tête (threads.h). –

Répondre

0

Je suis l'auteur principal de MRPT et d'une partie des paquets ROS.

Désolé pour le désordre, mais vous nous avez trouvés dans la transition entre la série mrpt 1.5. * Et une nouvelle réécriture de maire basée sur C++ 14 qui est actuellement publié dans git comme mrpt 1.9.9 et sera finalement publié comme 2.0.0.

Cette transition doit être propagée aux noeuds ros, mais jusqu'à présent nous n'avons mis à jour que mrpt_navigation, mrpt_slam est dans la liste de tâches. Donc: une solution consiste à installer une version mrpt de la série 1.5. *, Et à construire les paquets ros à partir des sources, en faisant attention à vérifier les branches nommées compat-mrpt-1.5.

Espérons que cela aide!

+0

La version Mrpt de la série 1.5. * Signifie, je suppose, que je dois compiler/installer manuellement. Ai-je raison? Parce que quand j'ai vérifié les paquets, il n'y avait que la version 1.3 et la version 1.9. Une autre chose, est cette adresse git principale de https://github.com/MRPT/mrpt mrpt? Merci beaucoup mon frère. –

+0

Oui, pour l'instant, téléchargez et construisez manuellement la dernière version 1.5. *. Je travaille sur un [PPA pour la série mrpt-1.5] (https://launchpad.net/~joseluisblancoc/+archive/ubuntu/mrpt-1.5) mais ça ne fonctionne pas encore correctement ... –

+0

Is 1.9. * libérer prochaine cible après repo? –