shichaoy / pop_up_image

Real-time 3D Scene Layout from a Single Image Using Convolutional Neural Networks
Other
108 stars 40 forks source link

compilation issue: #3

Closed rnunziata closed 6 years ago

rnunziata commented 6 years ago

Not sure what it is saying .... do I have wrong version of Eigan...(3.3.90) installed as version in Marco.h

/home/rjn/catkin_ws/src/pop_up_image/pop_up_wall/src/popup_plane_main.cpp: In function ‘int main(int, char**)’:
/home/rjn/catkin_ws/src/pop_up_image/pop_up_wall/src/popup_plane_main.cpp:117:93: error: cannot convert ‘Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, Eigen::internal::SingleRange> >::type {aka Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, Eigen::internal::SingleRange>}’ to ‘const int’ in initialization
     const int x = pop_up_obj.ground_seg2d_lines_connect(pop_up_obj.good_plane_indices(i)-1,0);
                                                                                             ^
/home/rjn/catkin_ws/src/pop_up_image/pop_up_wall/src/popup_plane_main.cpp:120:101: error: no matching function for call to ‘cv::Point_<int>::Point_(Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, Eigen::internal::SingleRange> >::type, Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, Eigen::internal::SingleRange> >::type)’
                          pop_up_obj.ground_seg2d_lines_connect(pop_up_obj.good_plane_indices(i)-1,1)), \
shichaoy commented 6 years ago

hi, I am also using Eigen3. The error seems weird, it cannot even access a matrix element. Maybe you need to do more testing about your eigen. ground_seg2d_lines_connect is just a standard matrixXf.

rnunziata commented 6 years ago

Can I ask you to look in the Marcos.h file and print out the VERSION numbers like this.

Macros.h:#define EIGEN_WORLD_VERSION 3
Macros.h:#define EIGEN_MAJOR_VERSION 3
Macros.h:#define EIGEN_MINOR_VERSION 90
shichaoy commented 6 years ago

This is what I have:

define EIGEN_WORLD_VERSION 3

define EIGEN_MAJOR_VERSION 2

define EIGEN_MINOR_VERSION 0

If you use ros, it should already install eigen.

rnunziata commented 6 years ago

thanks...that got me past this issue.