bexilin/CVO-SLAM

Eigen Vector Error during installation

Closed this issue · 1 comments

Hi! I am very interested in evaluating your work. During installation, a bunch of errors came out related to the Eigen library:

CVO-SLAM/include/vertex_and_edge.h:27:24: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
   27 |       Eigen::Map<const Vector6d> update(update_);
      |                        ^~~~~~~~
CVO-SLAM/include/vertex_and_edge.h:27:32: error: template argument 1 is invalid
   27 |       Eigen::Map<const Vector6d> update(update_);
      |                                ^
CVO-SLAM/include/vertex_and_edge.h:27:41: error: invalid conversion from ‘const double*’ to ‘int’ [-fpermissive]
   27 |       Eigen::Map<const Vector6d> update(update_);
      |                                         ^~~~~~~
      |                                         |
      |                                         const double*
CVO-SLAM/include/vertex_and_edge.h:28:32: error: cannot convert ‘int’ to ‘const Vector6&’ {aka ‘const Eigen::Matrix<double, 6, 1, 0, 6, 1>&’}
   28 |       setEstimate(SE3Quat::exp(update)*estimate());
      |                                ^~~~~~
      |                                |
      |                                int

I am suing Eigen 3.3.7 version which is identical to the version you tested.
Could you help resolve this issue?
Thanks!

I found the issue of my own problem. It stems from the use of newer version of g2o.
If using the version suggested by the authors, the compilation is successful.

By the way, I am (i) not using intel compiler, and (ii) I am using OpenCV 4.0.
Both the compilation and running test are successful.

It's an amazing work!