appliedAI-Initiative / orb_slam_2_ros

A ROS implementation of ORB_SLAM2
Other
609 stars 282 forks source link

error installing orb_slam_2_ros using catkin_make with OpenCV 4.1.0 #41

Open SalilVishnuKapur opened 5 years ago

SalilVishnuKapur commented 5 years ago

Issue : I have compiled opencv 4.1.0 with cuda support. So want to build the ros dependent packages with custom opencv. The command after initializing catkin_init_workspace is as follows. Any kind of help will be deeply appreciated Command : catkin_make -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=/opt/include/opencv4/opencv2 -DPYTHON_EXECUTABLE=/usr/bin/python3

My fixes till yet : I fixed the initial issues by editing the cmake file to have opencv version 4.1.0 and also /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/ORBextractor.h to have #include <opencv2/opencv.hpp> instead of #include <opencv/cv.h>

My system config : Ubuntu 18.04 Opencv 4.1.0 gcc 7.4.0 numpy 1.16.5 catkin

Error Log : [ 64%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/FrameDrawer.cc.o [ 65%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/MapPoint.cc.o In file included from /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:34:0: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:96:15: error: ‘CvMat’ has not been declared void fill_M(CvMat M, const int row, const double alphas, const double u, const double v); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:102:34: error: ‘CvMat’ does not name a type void find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:102:56: error: ‘CvMat’ does not name a type void find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:103:34: error: ‘CvMat’ does not name a type void find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:103:56: error: ‘CvMat’ does not name a type void find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:104:34: error: ‘CvMat’ does not name a type void find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:104:56: error: ‘CvMat’ does not name a type void find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:17: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:28: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:39: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:113:27: error: ‘CvMat’ does not name a type void gauss_newton(const CvMat L_6x10, const CvMat Rho, double current_betas[4]); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:113:49: error: ‘CvMat’ does not name a type void gauss_newton(const CvMat L_6x10, const CvMat Rho, double current_betas[4]); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:115:23: error: ‘CvMat’ has not been declared double cb[4], CvMat A, CvMat b); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:115:34: error: ‘CvMat’ has not been declared double cb[4], CvMat A, CvMat * b); ^~~~~ [ 65%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/KeyFrame.cc.o /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc: In member function ‘cv::Mat ORB_SLAM2::Tracking::GrabImageStereo(const cv::Mat&, const cv::Mat&, const double&)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:171:38: error: ‘CV_RGB2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:171:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:176:38: error: ‘CV_BGR2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGR2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:184:38: error: ‘CV_RGBA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:184:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:189:38: error: ‘CV_BGRA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:189:38: note: suggested alternative: ‘CV_WRAP_AS’ cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ CV_WRAP_AS /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc: In member function ‘cv::Mat ORB_SLAM2::Tracking::GrabImageRGBD(const cv::Mat&, const cv::Mat&, const double&)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:210:38: error: ‘CV_RGB2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:210:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:212:38: error: ‘CV_BGR2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGR2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:217:38: error: ‘CV_RGBA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:217:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:219:38: error: ‘CV_BGRA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:219:38: note: suggested alternative: ‘CV_WRAP_AS’ cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ CV_WRAP_AS /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc: In member function ‘cv::Mat ORB_SLAM2::Tracking::GrabImageMonocular(const cv::Mat&, const double&)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:240:38: error: ‘CV_RGB2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:240:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGB2GRAY); ^~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:242:38: error: ‘CV_BGR2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGR2GRAY); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:247:38: error: ‘CV_RGBA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:247:38: note: suggested alternative: ‘CV_RGB’ cvtColor(mImGray,mImGray,CV_RGBA2GRAY); ^~~~ CV_RGB /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:249:38: error: ‘CV_BGRA2GRAY’ was not declared in this scope cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/Tracking.cc:249:38: note: suggested alternative: ‘CV_WRAP_AS’ cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ^~~~ CV_WRAP_AS [ 65%] Linking CXX executable /home/spiri/ros_opencv_dependables/devel/lib/image_view/image_saver [ 65%] Built target image_saver [ 65%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/Map.cc.o [ 67%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/Optimizer.cc.o [ 67%] Linking CXX executable /home/spiri/ros_opencv_dependables/devel/lib/image_view/extract_images [ 67%] Building CXX object image_pipeline/image_view/CMakeFiles/image_view.dir/src/nodelets/disparity_nodelet.cpp.o [ 67%] Built target extract_images [ 67%] Building CXX object image_pipeline/image_view/CMakeFiles/image_view.dir/src/nodelets/window_thread.cpp.o /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/FrameDrawer.cc: In member function ‘cv::Mat ORB_SLAM2::FrameDrawer::DrawFrame()’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/FrameDrawer.cc:75:24: error: ‘CV_GRAY2BGR’ was not declared in this scope cvtColor(im,im,CV_GRAY2BGR); ^~~ [ 67%] Linking CXX executable /home/spiri/ros_opencv_dependables/devel/lib/image_view/image_view [ 67%] Building CXX object orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/PnPsolver.cc.o orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/build.make:86: recipe for target 'orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/Tracking.cc.o' failed make[2]: [orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/Tracking.cc.o] Error 1 make[2]: Waiting for unfinished jobs.... [ 67%] Built target image_view_exe [ 68%] Linking CXX shared library /home/spiri/ros_opencv_dependables/devel/lib/libimage_view.so [ 68%] Built target image_view In file included from /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:53:0: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:96:15: error: ‘CvMat’ has not been declared void fill_M(CvMat M, const int row, const double alphas, const double u, const double v); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:102:34: error: ‘CvMat’ does not name a type void find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:102:56: error: ‘CvMat’ does not name a type void find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:103:34: error: ‘CvMat’ does not name a type void find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:103:56: error: ‘CvMat’ does not name a type void find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:104:34: error: ‘CvMat’ does not name a type void find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:104:56: error: ‘CvMat’ does not name a type void find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, double betas); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:17: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:28: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:105:39: error: ‘CvMat’ has not been declared void qr_solve(CvMat A, CvMat b, CvMat X); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:113:27: error: ‘CvMat’ does not name a type void gauss_newton(const CvMat L_6x10, const CvMat Rho, double current_betas[4]); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:113:49: error: ‘CvMat’ does not name a type void gauss_newton(const CvMat L_6x10, const CvMat Rho, double current_betas[4]); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:115:23: error: ‘CvMat’ has not been declared double cb[4], CvMat A, CvMat b); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/include/PnPsolver.h:115:34: error: ‘CvMat’ has not been declared double cb[4], CvMat A, CvMat b); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::choose_control_points()’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:388:3: error: ‘CvMat’ was not declared in this scope CvMat PW0 = cvCreateMat(number_of_correspondences, 3, CV_64F); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:388:11: error: ‘PW0’ was not declared in this scope CvMat PW0 = cvCreateMat(number_of_correspondences, 3, CV_64F); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:388:17: error: ‘cvCreateMat’ was not declared in this scope CvMat PW0 = cvCreateMat(number_of_correspondences, 3, CV_64F); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:391:9: error: expected ‘;’ before ‘PW0tPW0’ CvMat PW0tPW0 = cvMat(3, 3, CV_64F, pw0tpw0); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:392:9: error: expected ‘;’ before ‘DC’ CvMat DC = cvMat(3, 1, CV_64F, dc); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:393:9: error: expected ‘;’ before ‘UCt’ CvMat UCt = cvMat(3, 3, CV_64F, uct); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:399:25: error: ‘PW0tPW0’ was not declared in this scope cvMulTransposed(PW0, &PW0tPW0, 1); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:399:3: error: ‘cvMulTransposed’ was not declared in this scope cvMulTransposed(PW0, &PW0tPW0, 1); ^~~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:20: error: ‘DC’ was not declared in this scope cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:25: error: ‘UCt’ was not declared in this scope cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:33: error: ‘CV_SVD_MODIFY_A’ was not declared in this scope cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:33: note: suggested alternative: ‘CV_HAL_SVD_MODIFY_A’ cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~~ CV_HAL_SVD_MODIFY_A /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:51: error: ‘CV_SVD_U_T’ was not declared in this scope cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:51: note: suggested alternative: ‘CV_OUT’ cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~ CV_OUT /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:400:3: error: ‘cvSVD’ was not declared in this scope cvSVD(&PW0tPW0, &DC, &UCt, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:402:3: error: ‘cvReleaseMat’ was not declared in this scope cvReleaseMat(&PW0); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::compute_barycentric_coordinates()’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:414:3: error: ‘CvMat’ was not declared in this scope CvMat CC = cvMat(3, 3, CV_64F, cc); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:415:9: error: expected ‘;’ before ‘CC_inv’ CvMat CC_inv = cvMat(3, 3, CV_64F, cc_inv); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:13: error: ‘CC’ was not declared in this scope cvInvert(&CC, &CC_inv, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:18: error: ‘CC_inv’ was not declared in this scope cvInvert(&CC, &CC_inv, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:18: note: suggested alternative: ‘cc_inv’ cvInvert(&CC, &CC_inv, CV_SVD); ^~ cc_inv /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:26: error: ‘CV_SVD’ was not declared in this scope cvInvert(&CC, &CC_inv, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:26: note: suggested alternative: ‘CV_AVX’ cvInvert(&CC, &CC_inv, CV_SVD); ^~ CV_AVX /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:421:3: error: ‘cvInvert’ was not declared in this scope cvInvert(&CC, &CC_inv, CV_SVD); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:436:24: error: variable or field ‘fill_M’ declared void void PnPsolver::fill_M(CvMat M, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:436:24: error: ‘CvMat’ was not declared in this scope /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:436:32: error: ‘M’ was not declared in this scope void PnPsolver::fill_M(CvMat M, ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:437:5: error: expected primary-expression before ‘const’ const int row, const double as, const double u, const double v) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:437:20: error: expected primary-expression before ‘const’ const int row, const double as, const double u, const double v) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:437:39: error: expected primary-expression before ‘const’ const int row, const double as, const double u, const double v) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:437:55: error: expected primary-expression before ‘const’ const int row, const double as, const double u, const double v) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘double ORB_SLAM2::PnPsolver::compute_pose(double ()[3], double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:482:3: error: ‘CvMat’ was not declared in this scope CvMat M = cvCreateMat(2 number_of_correspondences, 12, CV_64F); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:482:11: error: ‘M’ was not declared in this scope CvMat M = cvCreateMat(2 number_of_correspondences, 12, CV_64F); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:482:15: error: ‘cvCreateMat’ was not declared in this scope CvMat M = cvCreateMat(2 number_of_correspondences, 12, CV_64F); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:488:9: error: expected ‘;’ before ‘MtM’ CvMat MtM = cvMat(12, 12, CV_64F, mtm); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:489:9: error: expected ‘;’ before ‘D’ CvMat D = cvMat(12, 1, CV_64F, d); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:490:9: error: expected ‘;’ before ‘Ut’ CvMat Ut = cvMat(12, 12, CV_64F, ut); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:492:23: error: ‘MtM’ was not declared in this scope cvMulTransposed(M, &MtM, 1); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:492:3: error: ‘cvMulTransposed’ was not declared in this scope cvMulTransposed(M, &MtM, 1); ^~~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:16: error: ‘D’ was not declared in this scope cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:20: error: ‘Ut’ was not declared in this scope cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:20: note: suggested alternative: ‘ut’ cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~ ut /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:27: error: ‘CV_SVD_MODIFY_A’ was not declared in this scope cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:27: note: suggested alternative: ‘CV_HAL_SVD_MODIFY_A’ cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~~ CV_HAL_SVD_MODIFY_A /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:45: error: ‘CV_SVD_U_T’ was not declared in this scope cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:45: note: suggested alternative: ‘CV_OUT’ cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~~ CV_OUT /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:493:3: error: ‘cvSVD’ was not declared in this scope cvSVD(&MtM, &D, &Ut, 0, CV_SVD_MODIFY_A | CV_SVD_U_T); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:494:3: error: ‘cvReleaseMat’ was not declared in this scope cvReleaseMat(&M); ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:497:9: error: expected ‘;’ before ‘L_6x10’ CvMat L_6x10 = cvMat(6, 10, CV_64F, l_6x10); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:498:9: error: expected ‘;’ before ‘Rho’ CvMat Rho = cvMat(6, 1, CV_64F, rho); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:506:24: error: ‘L_6x10’ was not declared in this scope find_betas_approx_1(&L_6x10, &Rho, Betas[1]); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:506:24: note: suggested alternative: ‘l_6x10’ find_betas_approx_1(&L_6x10, &Rho, Betas[1]); ^~ l_6x10 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:506:33: error: ‘Rho’ was not declared in this scope find_betas_approx_1(&L_6x10, &Rho, Betas[1]); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:506:33: note: suggested alternative: ‘rho’ find_betas_approx_1(&L_6x10, &Rho, Betas[1]); ^~~ rho /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::estimate_R_and_t(double ()[3], double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:591:3: error: ‘CvMat’ was not declared in this scope CvMat ABt = cvMat(3, 3, CV_64F, abt); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:592:9: error: expected ‘;’ before ‘ABt_D’ CvMat ABt_D = cvMat(3, 1, CV_64F, abt_d); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:593:9: error: expected ‘;’ before ‘ABt_U’ CvMat ABt_U = cvMat(3, 3, CV_64F, abt_u); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:594:9: error: expected ‘;’ before ‘ABt_V’ CvMat ABt_V = cvMat(3, 3, CV_64F, abt_v); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:596:14: error: ‘ABt’ was not declared in this scope cvSetZero(&ABt); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:596:3: error: ‘cvSetZero’ was not declared in this scope cvSetZero(&ABt); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:16: error: ‘ABt_D’ was not declared in this scope cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:24: error: ‘ABt_U’ was not declared in this scope cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:32: error: ‘ABt_V’ was not declared in this scope cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:39: error: ‘CV_SVD_MODIFY_A’ was not declared in this scope cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:39: note: suggested alternative: ‘CV_HAL_SVD_MODIFY_A’ cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~~~ CV_HAL_SVD_MODIFY_A /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:608:3: error: ‘cvSVD’ was not declared in this scope cvSVD(&ABt, &ABt_D, &ABt_U, &ABt_V, CV_SVD_MODIFY_A); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:667:43: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:667:65: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_1(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::find_betas_approx_1(const int, const int, double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:671:3: error: ‘CvMat’ was not declared in this scope CvMat L_6x4 = cvMat(6, 4, CV_64F, l_6x4); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:672:9: error: expected ‘;’ before ‘B4’ CvMat B4 = cvMat(4, 1, CV_64F, b4); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:13: error: ‘L_6x4’ was not declared in this scope cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:13: note: suggested alternative: ‘l_6x4’ cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ l_6x4 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:26: error: ‘cvmGet’ was not declared in this scope cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:26: note: suggested alternative: ‘memset’ cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:5: error: ‘cvmSet’ was not declared in this scope cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:675:5: note: suggested alternative: ‘memset’ cvmSet(&L_6x4, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:12: error: ‘L_6x4’ was not declared in this scope cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:12: note: suggested alternative: ‘l_6x4’ cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~~~~ l_6x4 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:25: error: ‘B4’ was not declared in this scope cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:25: note: suggested alternative: ‘b4’ cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~ b4 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:29: error: ‘CV_SVD’ was not declared in this scope cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:29: note: suggested alternative: ‘CV_AVX’ cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~ CV_AVX /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:3: error: ‘cvSolve’ was not declared in this scope cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:681:3: note: suggested alternative: ‘qr_solve’ cvSolve(&L_6x4, Rho, &B4, CV_SVD); ^~~ qr_solve /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:699:43: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:699:65: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_2(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::find_betas_approx_2(const int, const int, double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:703:3: error: ‘CvMat’ was not declared in this scope CvMat L_6x3 = cvMat(6, 3, CV_64F, l_6x3); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:704:9: error: expected ‘;’ before ‘B3’ CvMat B3 = cvMat(3, 1, CV_64F, b3); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:13: error: ‘L_6x3’ was not declared in this scope cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:13: note: suggested alternative: ‘l_6x3’ cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ l_6x3 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:26: error: ‘cvmGet’ was not declared in this scope cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:26: note: suggested alternative: ‘memset’ cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:5: error: ‘cvmSet’ was not declared in this scope cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:707:5: note: suggested alternative: ‘memset’ cvmSet(&L_6x3, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:12: error: ‘L_6x3’ was not declared in this scope cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:12: note: suggested alternative: ‘l_6x3’ cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~~~~ l_6x3 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:25: error: ‘B3’ was not declared in this scope cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:25: note: suggested alternative: ‘b3’ cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~ b3 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:29: error: ‘CV_SVD’ was not declared in this scope cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:29: note: suggested alternative: ‘CV_AVX’ cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~ CV_AVX /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:3: error: ‘cvSolve’ was not declared in this scope cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:712:3: note: suggested alternative: ‘qr_solve’ cvSolve(&L_6x3, Rho, &B3, CV_SVD); ^~~ qr_solve /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:731:43: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:731:65: error: ‘CvMat’ does not name a type void PnPsolver::find_betas_approx_3(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::find_betas_approx_3(const int, const int, double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:735:3: error: ‘CvMat’ was not declared in this scope CvMat L_6x5 = cvMat(6, 5, CV_64F, l_6x5); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:736:9: error: expected ‘;’ before ‘B5’ CvMat B5 = cvMat(5, 1, CV_64F, b5); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:13: error: ‘L_6x5’ was not declared in this scope cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:13: note: suggested alternative: ‘l_6x5’ cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~~~~ l_6x5 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:26: error: ‘cvmGet’ was not declared in this scope cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:26: note: suggested alternative: ‘memset’ cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:5: error: ‘cvmSet’ was not declared in this scope cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:739:5: note: suggested alternative: ‘memset’ cvmSet(&L_6x5, i, 0, cvmGet(L_6x10, i, 0)); ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:12: error: ‘L_6x5’ was not declared in this scope cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:12: note: suggested alternative: ‘l_6x5’ cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~~~~ l_6x5 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:25: error: ‘B5’ was not declared in this scope cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:25: note: suggested alternative: ‘b5’ cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~ b5 /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:29: error: ‘CV_SVD’ was not declared in this scope cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:29: note: suggested alternative: ‘CV_AVX’ cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~ CV_AVX /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:3: error: ‘cvSolve’ was not declared in this scope cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:746:3: note: suggested alternative: ‘qr_solve’ cvSolve(&L_6x5, Rho, &B5, CV_SVD); ^~~ qr_solve /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:813:23: error: ‘CvMat’ has not been declared double betas[4], CvMat A, CvMat b) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:813:34: error: ‘CvMat’ has not been declared double betas[4], CvMat A, CvMat b) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::compute_A_and_b_gauss_newton(const double, const double, double, int, int)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:817:24: error: request for member ‘data’ in ‘ A’, which is of non-class type ‘int’ double rowA = A->data.db + i 4; ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:824:5: error: ‘cvmSet’ was not declared in this scope cvmSet(b, i, 0, rho[i] - ^~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:824:5: note: suggested alternative: ‘memset’ cvmSet(b, i, 0, rho[i] - ^~ memset /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:840:36: error: ‘CvMat’ does not name a type void PnPsolver::gauss_newton(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:840:58: error: ‘CvMat’ does not name a type void PnPsolver::gauss_newton(const CvMat L_6x10, const CvMat Rho, ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: In member function ‘void ORB_SLAM2::PnPsolver::gauss_newton(const int, const int, double)’: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:846:3: error: ‘CvMat’ was not declared in this scope CvMat A = cvMat(6, 4, CV_64F, a); ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:847:9: error: expected ‘;’ before ‘B’ CvMat B = cvMat(6, 1, CV_64F, b); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:848:9: error: expected ‘;’ before ‘X’ CvMat X = cvMat(4, 1, CV_64F, x); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:851:42: error: request for member ‘data’ in ‘ L_6x10’, which is of non-class type ‘const int’ compute_A_and_b_gauss_newton(L_6x10->data.db, Rho->data.db, ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:851:56: error: request for member ‘data’ in ‘ Rho’, which is of non-class type ‘const int’ compute_A_and_b_gauss_newton(L_6x10->data.db, Rho->data.db, ^~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:852:14: error: ‘A’ was not declared in this scope betas, &A, &B); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:852:18: error: ‘B’ was not declared in this scope betas, &A, &B); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:853:23: error: ‘X’ was not declared in this scope qr_solve(&A, &B, &X); ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc: At global scope: /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:26: error: variable or field ‘qr_solve’ declared void void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:26: error: ‘CvMat’ was not declared in this scope /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:34: error: ‘A’ was not declared in this scope void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:37: error: ‘CvMat’ was not declared in this scope void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:45: error: ‘b’ was not declared in this scope void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:48: error: ‘CvMat’ was not declared in this scope void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^~~~~ /home/spiri/ros_opencv_dependables/src/orb_slam_2_ros/orb_slam2/src/PnPsolver.cc:860:56: error: ‘X’ was not declared in this scope void PnPsolver::qr_solve(CvMat A, CvMat b, CvMat X) ^ orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/build.make:206: recipe for target 'orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/FrameDrawer.cc.o' failed make[2]: [orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/FrameDrawer.cc.o] Error 1 orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/build.make:350: recipe for target 'orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/PnPsolver.cc.o' failed make[2]: [orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/orb_slam2/src/PnPsolver.cc.o] Error 1 CMakeFiles/Makefile2:9039: recipe for target 'orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/all' failed make[1]: [orb_slam_2_ros/CMakeFiles/orb_slam2_ros.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: [all] Error 2

lennarthaller commented 4 years ago

Were you able to fix the issue?

lennarthaller commented 4 years ago

Let me know if the issues persists after #62

deadmeat17 commented 4 years ago

Let me know if the issues persists after #62

Yes it is still there.

GabHoo commented 4 years ago

Same here

aaasdream commented 4 years ago

Add This:

#include <opencv2/imgproc/types_c.h>
#include <opencv2/opencv.hpp>
using namespace cv;

It's work to me.

stephennacion06 commented 4 years ago

Add This:

#include <opencv2/imgproc/types_c.h>
#include <opencv2/opencv.hpp>
using namespace cv;

It's work to me.

What file did you add that lines

Goh-tsen commented 3 years ago

Add This:

#include <opencv2/imgproc/types_c.h>
#include <opencv2/opencv.hpp>
using namespace cv;

It's work to me.

What file did you add that lines

At first, I added these lines to each file that error messages mentioned and that really worked. But I had to edit numbers of files after each unsuccessful compiling. Then I find all those files contain #include , so I added these three lines in the ORB_SLAM2/include/System.h. However I don't know if it really worked because it seemed that I have added these lines to all the files that may cause problem before I change the System.h.

eladden commented 3 years ago

Add This:

#include <opencv2/imgproc/types_c.h>
#include <opencv2/opencv.hpp>
using namespace cv;

It's work to me.

What file did you add that lines

At first, I added these lines to each file that error messages mentioned and that really worked. But I had to edit numbers of files after each unsuccessful compiling. Then I find all those files contain #include , so I added these three lines in the ORB_SLAM2/include/System.h. However I don't know if it really worked because it seemed that I have added these lines to all the files that may cause problem before I change the System.h.

I've added these lines to System.h, PnPSolver.h, Sim3Solver.h only and it seemed to work

xlla commented 3 years ago

After add those header files, I encounter another errors: ` src/PnPsolver.cc:388:17: error: ‘cvCreateMat’ was not declared in this scope CvMat * PW0 = cvCreateMat(number_of_correspondences, 3, CV_64F); ^~~

`