Hello, I am trying to port RTabMap to work with Nvidia ISAAC SDK. For this I would like to compile a slimmed down version of RTabMap, excluding QT for example. I am running into issues with compiling the entire project as well, on a Nvidia AGX Xavior. I am using GCC 7.5. Is there any way to compile only the core functionality of RTabMap? What version of GCC do I need? Many thanks!
Errors below: /usr/local/include/g2o/core/base_fixed_sized_edge.h:174:32: error: ‘index_sequence’ is not a member of ‘std’ struct HessianTupleType<std::index_sequence<Ints...>> { ^~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:174:32: error: ‘index_sequence’ is not a member of ‘std’ /usr/local/include/g2o/core/base_fixed_sized_edge.h:174:51: error: expected parameter pack before ‘...’ struct HessianTupleType<std::index_sequence<Ints...>> { ^~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:174:51: error: template argument 1 is invalid /usr/local/include/g2o/core/base_fixed_sized_edge.h:174:54: error: expected unqualified-id before ‘>’ token struct HessianTupleType<std::index_sequence<Ints...>> { ^~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:181:38: error: ‘make_index_sequence’ is not a member of ‘std’ typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::type; ^~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:181:38: error: ‘make_index_sequence’ is not a member of ‘std’ /usr/local/include/g2o/core/base_fixed_sized_edge.h:181:58: error: template argument 1 is invalid typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::type; ^~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:181:16: error: expected nested-name-specifier typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:183:38: error: ‘make_index_sequence’ is not a member of ‘std’ typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::typeTransposed; ^~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:183:38: error: ‘make_index_sequence’ is not a member of ‘std’ /usr/local/include/g2o/core/base_fixed_sized_edge.h:183:58: error: template argument 1 is invalid typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::typeTransposed; ^~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:183:16: error: expected nested-name-specifier typename HessianTupleType<std::make_index_sequence<_nr_of_vertex_pairs>>::typeTransposed; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/g2o/core/base_fixed_sized_edge.h:203:32: error: ‘std::index_sequence’ has not been declared bool allVerticesFixedNs(std::index_sequence<Ints...>) const; |
Administrator
|
Hi,
If you set cmake "-DWITH_QT=OFF", you will only compile the core library. You seem having c++ version error from g2o headers. Which g2o version are you using? You may increase the c++ requirement here to a higher version (c++17 ?, though std::index_sequence seems available since c++14 for which the cmake should be already building with when detecting g2o). cheers, Mathieu |
Free forum by Nabble | Edit this page |