Building hector_quadrotor on lunar

asked 2017-06-06 09:23:09 -0600

bxl gravatar image

updated 2017-06-06 09:25:22 -0600

I'm triyng to build hector_quadrotor on ros lunar . I know their repository ( https://github.com/tu-darmstadt-ros-p... ) hasn't been updated to work on ros lunar. However, I'm using these instructions ( http://answers.ros.org/question/24477... )

Building CXX object hector_localization/hector_pose_estimation_core/CMakeFiles/hector_pose_estimation.dir/src/pose_estimation.cpp.o
In file included from /home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/include/hector_pose_estimation/pose_estimation.h:33:0,
             from /home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/src/pose_estimation.cpp:29:
/home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/include/hector_pose_estimation/state.h:69:16: error: ‘vector’ in namespace ‘std’ does not name a template type
  typedef std::vector<SubStatePtr> SubStates;
            ^~~~~~
In file included from /home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/include/hector_pose_estimation/pose_estimation.h:33:0,
             from /home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/src/pose_estimation.cpp:29:
 /home/bruno/rodain/Rodain.git/src/hector_localization/hector_pose_estimation_core/include/hector_pose_estimation/state.h:141:9: error: ‘SubStates’ does not name a type
 const SubStates& getSubStates() const { return substates_; }
edit retag flag offensive close merge delete

Comments

What GCC version are you using?

allenh1 gravatar imageallenh1 ( 2017-06-06 13:18:47 -0600 )edit

I'm using GCC 6.3.0

bxl gravatar imagebxl ( 2017-06-06 13:40:39 -0600 )edit

After investigating, I think this issue related to any ros package not yet launched for lunar release.

bxl gravatar imagebxl ( 2017-06-19 15:20:26 -0600 )edit

I've definitely built hector_localization on Lunar. Given your GCC version, you might try to force an earlier C++ standard at compile time (GCC 6 defaults to C++11). You can just do set(CMAKE_CXX_FLAGS "-std=c++0x")

allenh1 gravatar imageallenh1 ( 2017-06-27 11:53:26 -0600 )edit