Open hongu0603 opened 3 years ago
Hi @hongu0603, sorry for the long late reply. Seems it is related to Eigen library. Please make sure you have installed the right version (>=3.1.0). Anyway, hope you have solved it earlier. Cheers.
add this code in CMakeLists of g2o:
SET(CMAKE_CXX_FLAGS "-std=c++11") # Add c++11 functionality
then run code
cmake ..
when i make g2o , i get several error about it
from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:38:3: error: expected unqualified-id before ‘using’ using VectorN = Eigen::Matrix<number_t, N, 1, Eigen::ColMajor>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:39:9: error: expected nested-name-specifier before ‘Vector2’ using Vector2 = VectorN<2>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:40:9: error: expected nested-name-specifier before ‘Vector3’ using Vector3 = VectorN<3>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:41:9: error: expected nested-name-specifier before ‘Vector4’ using Vector4 = VectorN<4>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:42:9: error: expected nested-name-specifier before ‘Vector6’ using Vector6 = VectorN<6>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:43:9: error: expected nested-name-specifier before ‘Vector7’ using Vector7 = VectorN<7>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:44:9: error: expected nested-name-specifier before ‘VectorX’ using VectorX = VectorN<Eigen::Dynamic>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:47:3: error: expected unqualified-id before ‘using’ using MatrixN = Eigen::Matrix<number_t, N, N, Eigen::ColMajor>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:48:9: error: expected nested-name-specifier before ‘Matrix2’ using Matrix2 = MatrixN<2>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:49:9: error: expected nested-name-specifier before ‘Matrix3’ using Matrix3 = MatrixN<3>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:50:9: error: expected nested-name-specifier before ‘Matrix4’ using Matrix4 = MatrixN<4>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:51:9: error: expected nested-name-specifier before ‘MatrixX’ using MatrixX = MatrixN<Eigen::Dynamic>; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:53:28: error: ‘number_t’ was not declared in this scope typedef Eigen::Transform<number_t,2,Eigen::Isometry,Eigen::ColMajor> Isometry2; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:53:70: error: template argument 1 is invalid typedef Eigen::Transform<number_t,2,Eigen::Isometry,Eigen::ColMajor> Isometry2; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:54:28: error: ‘number_t’ was not declared in this scope typedef Eigen::Transform<number_t,3,Eigen::Isometry,Eigen::ColMajor> Isometry3; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:54:70: error: template argument 1 is invalid typedef Eigen::Transform<number_t,3,Eigen::Isometry,Eigen::ColMajor> Isometry3; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:56:28: error: ‘number_t’ was not declared in this scope typedef Eigen::Transform<number_t,2,Eigen::Affine,Eigen::ColMajor> Affine2; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:56:68: error: template argument 1 is invalid typedef Eigen::Transform<number_t,2,Eigen::Affine,Eigen::ColMajor> Affine2; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:57:28: error: ‘number_t’ was not declared in this scope typedef Eigen::Transform<number_t,3,Eigen::Affine,Eigen::ColMajor> Affine3; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:57:68: error: template argument 1 is invalid typedef Eigen::Transform<number_t,3,Eigen::Affine,Eigen::ColMajor> Affine3; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:59:29: error: ‘number_t’ was not declared in this scope typedef Eigen::Rotation2D<number_t> Rotation2D; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:59:37: error: template argument 1 is invalid typedef Eigen::Rotation2D<number_t> Rotation2D; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:61:29: error: ‘number_t’ was not declared in this scope typedef Eigen::Quaternion<number_t> Quaternion; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:61:37: error: template argument 1 is invalid typedef Eigen::Quaternion<number_t> Quaternion; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:63:28: error: ‘number_t’ was not declared in this scope typedef Eigen::AngleAxis<number_t> AngleAxis; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/eigen_types_new.h:63:36: error: template argument 1 is invalid typedef Eigen::AngleAxis<number_t> AngleAxis; ^ In file included from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:33:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:55:39: error: expected initializer before ‘extractRotation’ inline Isometry3::ConstLinearPart extractRotation(const Isometry3& A) ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h: In function ‘void g2o::internal::nearestOrthogonalMatrix(const Eigen::MatrixBase<Derived>&)’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:69:24: error: ‘Matrix3’ was not declared in this scope Eigen::JacobiSVD<Matrix3> svd(R, Eigen::ComputeFullU | Eigen::ComputeFullV); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:69:31: error: template argument 1 is invalid Eigen::JacobiSVD<Matrix3> svd(R, Eigen::ComputeFullU | Eigen::ComputeFullV); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:69:81: error: expression list treated as compound expression in initializer [-fpermissive] Eigen::JacobiSVD<Matrix3> svd(R, Eigen::ComputeFullU | Eigen::ComputeFullV); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:70:7: error: ‘number_t’ was not declared in this scope number_t det = (svd.matrixU() * svd.matrixV().adjoint()).determinant(); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:71:15: error: expected ‘;’ before ‘scaledU’ Matrix3 scaledU(svd.matrixU()); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:72:7: error: ‘scaledU’ was not declared in this scope scaledU.col(0) /= det; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:72:25: error: ‘det’ was not declared in this scope scaledU.col(0) /= det; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:73:66: error: request for member ‘matrixV’ in ‘svd’, which is of non-class type ‘int’ const_cast<Eigen::MatrixBase<Derived>&>(R) = scaledU * svd.matrixV().transpose(); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h: In function ‘void g2o::internal::approximateNearestOrthogonalMatrix(const Eigen::MatrixBase<Derived>&)’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:84:7: error: ‘Matrix3’ was not declared in this scope Matrix3 E = R.transpose() * R; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:85:7: error: ‘E’ was not declared in this scope E.diagonal().array() -= 1; ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h: At global scope: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:102:26: error: ‘Vector3’ does not name a type G2O_TYPES_SLAM3D_API Vector3 toEuler(const Matrix3& R); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:106:26: error: ‘Matrix3’ does not name a type G2O_TYPES_SLAM3D_API Matrix3 fromEuler(const Vector3& v); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:110:26: error: ‘Vector3’ does not name a type G2O_TYPES_SLAM3D_API Vector3 toCompactQuaternion(const Matrix3& R); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:115:26: error: ‘Matrix3’ does not name a type G2O_TYPES_SLAM3D_API Matrix3 fromCompactQuaternion(const Vector3& v); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:121:26: error: ‘Vector6’ does not name a type G2O_TYPES_SLAM3D_API Vector6 toVectorMQT(const Isometry3& t); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:125:26: error: ‘Vector6’ does not name a type G2O_TYPES_SLAM3D_API Vector6 toVectorET(const Isometry3& t); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:129:26: error: ‘Vector7’ does not name a type G2O_TYPES_SLAM3D_API Vector7 toVectorQT(const Isometry3& t); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:134:56: error: ‘Vector6’ does not name a type G2O_TYPES_SLAM3D_API Isometry3 fromVectorMQT(const Vector6& v); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:138:55: error: ‘Vector6’ does not name a type G2O_TYPES_SLAM3D_API Isometry3 fromVectorET(const Vector6& v); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/isometry3d_mappings.h:142:55: error: ‘Vector7’ does not name a type G2O_TYPES_SLAM3D_API Isometry3 fromVectorQT(const Vector7& v); ^ In file included from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h: In instantiation of ‘class g2o::BaseVertex<6, int>’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:50:49: required from here /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:62:72: warning: ‘Eigen::AlignedBit’ is deprecated [-Wdeprecated-declarations] typedef Eigen::Map<Matrix<double, D, D>, Matrix<double,D,D>::Flags & AlignedBit ? Aligned : Unaligned > HessianBlockType; ^ In file included from /usr/local/include/eigen3/Eigen/Core:363:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/jacobian_workspace.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/optimizable_graph.h:41, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /usr/local/include/eigen3/Eigen/src/Core/util/Constants.h:162:37: note: declared here EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80; ^ In file included from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:62:72: warning: ‘Eigen::AlignedBit’ is deprecated [-Wdeprecated-declarations] typedef Eigen::Map<Matrix<double, D, D>, Matrix<double,D,D>::Flags & AlignedBit ? Aligned : Unaligned > HessianBlockType; ^ In file included from /usr/local/include/eigen3/Eigen/Core:363:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/jacobian_workspace.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/optimizable_graph.h:41, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /usr/local/include/eigen3/Eigen/src/Core/util/Constants.h:162:37: note: declared here EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80; ^ In file included from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:62:72: warning: ‘Eigen::AlignedBit’ is deprecated [-Wdeprecated-declarations] typedef Eigen::Map<Matrix<double, D, D>, Matrix<double,D,D>::Flags & AlignedBit ? Aligned : Unaligned > HessianBlockType; ^ In file included from /usr/local/include/eigen3/Eigen/Core:363:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/jacobian_workspace.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/optimizable_graph.h:41, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/../core/base_vertex.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:31, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.h:30, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_prior.cpp:27: /usr/local/include/eigen3/Eigen/src/Core/util/Constants.h:162:37: note: declared here EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80; ^ In file included from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3.h:33:0, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_offset.h:31, from /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/edge_se3_offset.cpp:27: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:66:46: error: ‘number_t’ does not name a type virtual bool setEstimateDataImpl(const number_t* est){ ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:72:36: error: ‘number_t’ has not been declared virtual bool getEstimateData(number_t* est) const{ ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:82:53: error: ‘number_t’ does not name a type virtual bool setMinimalEstimateDataImpl(const number_t* est){ ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:88:43: error: ‘number_t’ has not been declared virtual bool getMinimalEstimateData(number_t* est) const{ ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:105:36: error: ‘number_t’ does not name a type virtual void oplusImpl(const number_t* update) ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual void g2o::VertexSE3::setToOriginImpl()’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:60:21: error: ‘Isometry3’ is not a class or namespace _estimate = Isometry3::Identity(); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual bool g2o::VertexSE3::setEstimateDataImpl(const int*)’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:67:26: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] Eigen::Map<const Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:67:33: error: template argument 1 is invalid Eigen::Map<const Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:67:40: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive] Eigen::Map<const Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual bool g2o::VertexSE3::getEstimateData(int*) const’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:73:20: error: ‘Vector7’ was not declared in this scope Eigen::Map<Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:73:27: error: template argument 1 is invalid Eigen::Map<Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:73:34: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] Eigen::Map<Vector7> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:74:11: error: ‘toVectorQT’ is not a member of ‘g2o::internal’ v=internal::toVectorQT(_estimate); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual bool g2o::VertexSE3::setMinimalEstimateDataImpl(const int*)’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:83:26: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] Eigen::Map<const Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:83:33: error: template argument 1 is invalid Eigen::Map<const Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:83:40: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive] Eigen::Map<const Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual bool g2o::VertexSE3::getMinimalEstimateData(int*) const’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:89:20: error: ‘Vector6’ was not declared in this scope Eigen::Map<Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:89:27: error: template argument 1 is invalid Eigen::Map<Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:89:34: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] Eigen::Map<Vector6> v(est); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:90:13: error: ‘toVectorMQT’ is not a member of ‘g2o::internal’ v = internal::toVectorMQT(_estimate); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h: In member function ‘virtual void g2o::VertexSE3::oplusImpl(const int*)’: /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:107:26: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] Eigen::Map<const Vector6> v(update); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:107:33: error: template argument 1 is invalid Eigen::Map<const Vector6> v(update); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:107:43: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive] Eigen::Map<const Vector6> v(update); ^ /home/henry/henry_ws/src/VDO_SLAM/dependencies/g2o/g2o/types/vertex_se3.h:112:66: error: request for member ‘matrix’ in ‘((g2o::VertexSE3*)this)->g2o::VertexSE3::<anonymous>.g2o::BaseVertex<6, int>::_estimate’, which is of non-class type ‘g2o::BaseVertex<6, int>::EstimateType {aka int}’ internal::approximateNearestOrthogonalMatrix(_estimate.matrix().topLeftCorner<3,3>());