raulmur / ORB_SLAM2

Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
Other
9.17k stars 4.69k forks source link

I got an error when I tried to compile orb_slam2 with ubuntu22. #1085

Open MintonLee opened 1 year ago

MintonLee commented 1 year ago

The environment I use is ubuntu22, opencv-3.4.10, Pangolin-0.5, and others are some default versions.

The error I encountered when executing ./build.sh is as follows

/home/lee22/vslam/ORB_SLAM2/src/System.cc: In member function ‘void ORB_SLAM2::System::SaveTrajectoryTUM(const string&)’: /home/lee22/vslam/ORB_SLAM2/src/System.cc:348:60: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlpReferences’; did you mean ‘ORB_SLAM2::KeyFrame ORB_SLAM2::Tracking::mpReferenceKF’? (not accessible from this context) 348 | list<ORB_SLAM2::KeyFrame>::iterator lRit = mpTracker->mlpReferences.begin(); | ^~~~~ In file included from /home/lee22/vslam/ORB_SLAM2/include/System.h:29, from /home/lee22/vslam/ORB_SLAM2/src/System.cc:22: /home/lee22/vslam/ORB_SLAM2/include/Tracking.h:174:15: note: declared protected here 174 | KeyFrame mpReferenceKF; | ^~~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:349:44: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlFrameTimes’ 349 | list::iterator lT = mpTracker->mlFrameTimes.begin(); | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:350:43: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlbLost’ 350 | list::iterator lbL = mpTracker->mlbLost.begin(); | ^~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:351:48: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlRelativeFramePoses’ 351 | for(list::iterator lit=mpTracker->mlRelativeFramePoses.begin(), | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:352:57: error: ‘lend’ was not declared in this scope 352 | lend=mpTracker->mlRelativeFramePoses.end();lit!=lend;lit++, lRit++, lT++, lbL++) | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc: In member function ‘void ORB_SLAM2::Tracking::Track()’: /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:491:9: error: ‘mlRelativeFramePoses’ was not declared in this scope 491 | mlRelativeFramePoses.push_back(Tcr); | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc: In member function ‘void ORB_SLAM2::System::SaveTrajectoryKITTI(const string&)’: /home/lee22/vslam/ORB_SLAM2/src/System.cc:445:60: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlpReferences’; did you mean ‘ORB_SLAM2::KeyFrame ORB_SLAM2::Tracking::mpReferenceKF’? (not accessible from this context) 445 | list<ORB_SLAM2::KeyFrame>::iterator lRit = mpTracker->mlpReferences.begin(); | ^~~~~ In file included from /home/lee22/vslam/ORB_SLAM2/include/System.h:29, from /home/lee22/vslam/ORB_SLAM2/src/System.cc:22: /home/lee22/vslam/ORB_SLAM2/include/Tracking.h:174:15: note: declared protected here 174 | KeyFrame mpReferenceKF; | ^~~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:446:44: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlFrameTimes’ 446 | list::iterator lT = mpTracker->mlFrameTimes.begin(); | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:447:48: error: ‘class ORB_SLAM2::Tracking’ has no member named ‘mlRelativeFramePoses’ 447 | for(list::iterator lit=mpTracker->mlRelativeFramePoses.begin(), lend=mpTracker->mlRelativeFramePoses.end();lit!=lend;lit++, lRit++, lT++) | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/System.cc:447:126: error: ‘lend’ was not declared in this scope 447 | :Mat>::iterator lit=mpTracker->mlRelativeFramePoses.begin(), lend=mpTracker->mlRelativeFramePoses.end();lit!=lend;lit++, lRit++, lT++) | ^~~~

/home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:492:9: error: ‘mlpReferences’ was not declared in this scope; did you mean ‘mpReferenceKF’? 492 | mlpReferences.push_back(mpReferenceKF); | ^~~~~ | mpReferenceKF /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:493:9: error: ‘mlFrameTimes’ was not declared in this scope 493 | mlFrameTimes.push_back(mCurrentFrame.mTimeStamp); | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:494:9: error: ‘mlbLost’ was not declared in this scope 494 | mlbLost.push_back(mState==LOST); | ^~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:499:9: error: ‘mlRelativeFramePoses’ was not declared in this scope 499 | mlRelativeFramePoses.push_back(mlRelativeFramePoses.back()); | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:500:9: error: ‘mlpReferences’ was not declared in this scope; did you mean ‘mpReferenceKF’? 500 | mlpReferences.push_back(mlpReferences.back()); | ^~~~~ | mpReferenceKF /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:501:9: error: ‘mlFrameTimes’ was not declared in this scope 501 | mlFrameTimes.push_back(mlFrameTimes.back()); | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:502:9: error: ‘mlbLost’ was not declared in this scope 502 | mlbLost.push_back(mState==LOST); | ^~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc: In member function ‘void ORB_SLAM2::Tracking::UpdateLastFrame()’: /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:804:19: error: ‘mlRelativeFramePoses’ was not declared in this scope 804 | cv::Mat Tlr = mlRelativeFramePoses.back(); | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc: In member function ‘void ORB_SLAM2::Tracking::Reset()’: /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:1542:5: error: ‘mlRelativeFramePoses’ was not declared in this scope 1542 | mlRelativeFramePoses.clear(); | ^~~~~~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:1543:5: error: ‘mlpReferences’ was not declared in this scope; did you mean ‘mpReferenceKF’? 1543 | mlpReferences.clear(); | ^~~~~ | mpReferenceKF /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:1544:5: error: ‘mlFrameTimes’ was not declared in this scope 1544 | mlFrameTimes.clear(); | ^~~~ /home/lee22/vslam/ORB_SLAM2/src/Tracking.cc:1545:5: error: ‘mlbLost’ was not declared in this scope 1545 | mlbLost.clear(); | ^~~ make[2]: [CMakeFiles/ORB_SLAM2.dir/build.make:76:CMakeFiles/ORB_SLAM2.dir/src/System.cc.o] 错误 1 make[2]: 正在等待未完成的任务.... make[2]: [CMakeFiles/ORB_SLAM2.dir/build.make:90:CMakeFiles/ORB_SLAM2.dir/src/Tracking.cc.o] 错误 1 make[1]: [CMakeFiles/Makefile2:95:CMakeFiles/ORB_SLAM2.dir/all] 错误 2 make: *** [Makefile:91:all] 错误 2