felixendres / rgbdslam_v2

RGB-D SLAM for ROS
GNU General Public License v3.0
935 stars 399 forks source link

error: ‘RobustKernelPtr’ does not name a type RobustKernelPtr _kernel; #90

Closed canglan1024 closed 6 years ago

canglan1024 commented 6 years ago

I have tried install.sh and catkin_make and both end up with the same error.

`In file included from /usr/include/c++/5/unordered_map:35:0, from /usr/local/include/g2o/core/hyper_graph.h:38, from /usr/local/include/g2o/core/optimizable_graph.h:38, from /usr/local/include/g2o/core/sparse_optimizer.h:32, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/graph_manager.h:58, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/openni_listener.h:31, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/moc_openni_listener.cpp:9: /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

error This file requires compiler and library support \

^ In file included from /usr/local/include/g2o/core/optimizable_graph.h:38:0, from /usr/local/include/g2o/core/sparse_optimizer.h:32, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/graph_manager.h:58, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/openni_listener.h:31, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/moc_openni_listener.cpp:9: /usr/local/include/g2o/core/hyper_graph.h:138:20: error: ‘unordered_map’ in namespace ‘std’ does not name a template type typedef std::unordered_map<int, Vertex> VertexIDMap; ^ /usr/local/include/g2o/core/hyper_graph.h:225:13: error: ‘VertexIDMap’ does not name a type const VertexIDMap& vertices() const {return _vertices;} ^ /usr/local/include/g2o/core/hyper_graph.h:227:7: error: ‘VertexIDMap’ does not name a type VertexIDMap& vertices() {return _vertices;} ^ /usr/local/include/g2o/core/hyper_graph.h:274:7: error: ‘VertexIDMap’ does not name a type VertexIDMap _vertices; ^ In file included from /usr/local/include/g2o/core/sparse_block_matrix.h:38:0, from /usr/local/include/g2o/core/sparse_optimizer.h:33, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/graph_manager.h:58, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/openni_listener.h:31, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/moc_openni_listener.cpp:9: /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:222:20: error: ‘unordered_map’ in namespace ‘std’ does not name a template type typedef std::unordered_map<int, MatrixType> SparseColumn; ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:241:25: error: ‘SparseColumn’ was not declared in this scope const std::vector& blockCols() const { return _blockCols;} ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:241:37: error: template argument 1 is invalid const std::vector& blockCols() const { return _blockCols;} ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:241:37: error: template argument 2 is invalid /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:242:19: error: ‘SparseColumn’ was not declared in this scope std::vector& blockCols() { return _blockCols;} ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:242:31: error: template argument 1 is invalid std::vector& blockCols() { return _blockCols;} ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:242:31: error: template argument 2 is invalid /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:273:19: error: ‘SparseColumn’ was not declared in this scope std::vector _blockCols; ///< the matrices stored in CCS ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:273:31: error: template argument 1 is invalid std::vector _blockCols; ///< the matrices stored in CCS ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:273:31: error: template argument 2 is invalid /usr/local/include/g2o/core/sparse_block_matrix_ccs.h: In member function ‘MatrixType* g2o::SparseBlockMatrixHashMap::addBlock(int, int, bool)’: /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:256:9: error: ‘SparseColumn’ was not declared in this scope SparseColumn& sparseColumn = _blockCols[c]; ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:256:23: error: ‘sparseColumn’ was not declared in this scope SparseColumn& sparseColumn = _blockCols[c]; ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:256:50: error: invalid types ‘int[int]’ for array subscript SparseColumn& sparseColumn = _blockCols[c]; ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:257:18: error: ‘SparseColumn’ is not a class or namespace typename SparseColumn::iterator foundIt = sparseColumn.find(r); ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:257:41: error: expected ‘(’ before ‘foundIt’ typename SparseColumn::iterator foundIt = sparseColumn.find(r); ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:258:13: error: ‘foundIt’ was not declared in this scope if (foundIt == sparseColumn.end()) { ^ /usr/local/include/g2o/core/sparse_block_matrix_ccs.h:267:16: error: ‘foundIt’ was not declared in this scope return foundIt->second; ^ In file included from /usr/local/include/g2o/core/robust_kernel_impl.h:30:0, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/graph_manager.h:65, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/openni_listener.h:31, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/moc_openni_listener.cpp:9: /usr/local/include/g2o/core/robust_kernel.h: At global scope: /usr/local/include/g2o/core/robust_kernel.h:74:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type typedef std::shared_ptr RobustKernelPtr; ^ In file included from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/graph_manager.h:65:0, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/../../../src/rgbdslam_v2-kinetic/src/openni_listener.h:31, from /home/canglan/catkin_ws/build/rgbdslam_v2-kinetic/src/moc_openni_listener.cpp:9: /usr/local/include/g2o/core/robust_kernel_impl.h:49:45: error: ‘RobustKernelPtr’ does not name a type explicit RobustKernelScaleDelta(const RobustKernelPtr& kernel, double del ^ /usr/local/include/g2o/core/robust_kernel_impl.h:53:13: error: ‘RobustKernelPtr’ does not name a type const RobustKernelPtr kernel() const { return _kernel;} ^ /usr/local/include/g2o/core/robust_kernel_impl.h:55:28: error: ‘RobustKernelPtr’ does not name a type void setKernel(const RobustKernelPtr& ptr); ^ /usr/local/include/g2o/core/robust_kernel_impl.h:60:7: error: ‘RobustKernelPtr’ does not name a type RobustKernelPtr _kernel; ^ rgbdslam_v2-kinetic/CMakeFiles/rgbdslam.dir/build.make:110: recipe for target 'rgbdslam_v2-kinetic/CMakeFiles/rgbdslam.dir/src/moc_openni_listener.cpp.o' failed make[2]: [rgbdslam_v2-kinetic/CMakeFiles/rgbdslam.dir/src/moc_openni_listener.cpp.o] Error 1 CMakeFiles/Makefile2:3038: recipe for target 'rgbdslam_v2-kinetic/CMakeFiles/rgbdslam.dir/all' failed make[1]: [rgbdslam_v2-kinetic/CMakeFiles/rgbdslam.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j1" failed ` Is that a compiler error or I missed some dependencies?

canglan1024 commented 6 years ago

Finally I made it by removing installed g2o and then making a fresh install through install.sh

canglan1024 commented 6 years ago

You can remove everything of g2o by sudo rm -rf /usr/local/include/g2o cd /usr/local/lib sudo rm -rf libg2o_*.so libg2o_*.so libg2o_*.so