rubengooj / pl-slam

This code contains an algorithm to compute stereo visual SLAM by using both point and line segment features.
GNU General Public License v3.0
732 stars 242 forks source link

building error when make #6

Open f1r1o1n1t1 opened 6 years ago

f1r1o1n1t1 commented 6 years ago

~/softwareSetup/pl-slam/build$ make Scanning dependencies of target plslam [ 7%] Building CXX object CMakeFiles/plslam.dir/src/config.cpp.o [ 15%] Building CXX object CMakeFiles/plslam.dir/src/auxiliar.cpp.o [ 23%] Building CXX object CMakeFiles/plslam.dir/src/pinholeStereoCamera.cpp.o [ 30%] Building CXX object CMakeFiles/plslam.dir/src/stereoFeatures.cpp.o [ 38%] Building CXX object CMakeFiles/plslam.dir/src/stereoFrame.cpp.o [ 46%] Building CXX object CMakeFiles/plslam.dir/src/stereoFrameHandler.cpp.o [ 53%] Building CXX object CMakeFiles/plslam.dir/src/mapHandler.cpp.o In file included from /usr/include/mrpt/base/include/mrpt/system/os.h:49:0, from /usr/include/mrpt/base/include/mrpt/utils/utils_defs.h:42, from /usr/include/mrpt/base/include/mrpt/utils/CTicTac.h:38, from /home/crazy/softwareSetup/pl-slam/include/mapHandler.h:52, from /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp:22: /usr/include/mrpt/base/include/mrpt/utils/types.h:61:3: error: #error FATAL ERROR: MRPT headers must be included before Eigen headers.

error FATAL ERROR: MRPT headers must be included before Eigen headers.

^ In file included from /usr/include/mrpt/base/include/mrpt/utils/types.h:75:0, from /usr/include/mrpt/base/include/mrpt/system/os.h:49, from /usr/include/mrpt/base/include/mrpt/utils/utils_defs.h:42, from /usr/include/mrpt/base/include/mrpt/utils/CTicTac.h:38, from /home/crazy/softwareSetup/pl-slam/include/mapHandler.h:52, from /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp:22: /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:91:103: error: no ‘void Eigen::MatrixBase::eigenVectors(MATRIX1&, MATRIX2&) const’ member function declared in class ‘Eigen::MatrixBase’ EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectors( MATRIX1 & eVecs, MATRIX2 & eVals ) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:104:106: error: no ‘void Eigen::MatrixBase::eigenVectorsVec(MATRIX1&, VECTOR1&) const’ member function declared in class ‘Eigen::MatrixBase’ EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsVec( MATRIX1 & eVecs, VECTOR1 & eVals ) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:130:112: error: no ‘void Eigen::MatrixBase::eigenVectorsSymmetric(MATRIX1&, MATRIX2&) const’ member function declared in class ‘Eigen::MatrixBase’ EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetric( MATRIX1 & eVecs, MATRIX2 & eVals ) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:143:115: error: no ‘void Eigen::MatrixBase::eigenVectorsSymmetricVec(MATRIX1&, VECTOR1&) const’ member function declared in class ‘Eigen::MatrixBase’ EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetricVec( MATRIX1 & eVecs, VECTOR1 & eVals ) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:153:104: error: no ‘bool Eigen::MatrixBase::fromMatlabStringFormat(const string&, bool)’ member function declared in class ‘Eigen::MatrixBase’ bool Eigen::MatrixBase::fromMatlabStringFormat(const std::string &s, bool dumpErrorMsgToStdErr) ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:248:86: error: no ‘std::string Eigen::MatrixBase::inMatlabFormat(std::size_t) const’ member function declared in class ‘Eigen::MatrixBase’ std::string Eigen::MatrixBase::inMatlabFormat(const size_t decimal_digits) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:269:4: error: no ‘void Eigen::MatrixBase::saveToTextFile(const string&, mrpt::math::TMatrixTextFileFormat, bool, const string&) const’ member function declared in class ‘Eigen::MatrixBase’ ) const ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:330:74: error: no ‘void Eigen::MatrixBase::loadFromTextFile(const string&)’ member function declared in class ‘Eigen::MatrixBase’ void Eigen::MatrixBase::loadFromTextFile(const std::string &file) ^ /usr/include/mrpt/base/include/mrpt/math/eigen_plugins_impl.h:338:66: error: no ‘void Eigen::MatrixBase::loadFromTextFile(std::istream&)’ member function declared in class ‘Eigen::MatrixBase’ void Eigen::MatrixBase::loadFromTextFile(std::istream &f) ^ /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationEssGraphG2O()’: /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp:4044:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated (declared at /opt/ros/indigo/include/g2o/types/slam3d/vertex_se3.h:119) [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationCovGraphG2O()’: /home/crazy/softwareSetup/pl-slam/src/mapHandler.cpp:4273:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated (declared at /opt/ros/indigo/include/g2o/types/slam3d/vertex_se3.h:119) [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ make[2]: [CMakeFiles/plslam.dir/src/mapHandler.cpp.o] 错误 1 make[1]: [CMakeFiles/plslam.dir/all] 错误 2 make: *** [all] 错误 2

someone knows why?

f1r1o1n1t1 commented 6 years ago

I also build this project in another folder: package_dir/src/pl-slam/build$ make Scanning dependencies of target plslam [ 7%] Building CXX object CMakeFiles/plslam.dir/src/config.cpp.o [ 15%] Building CXX object CMakeFiles/plslam.dir/src/auxiliar.cpp.o [ 23%] Building CXX object CMakeFiles/plslam.dir/src/pinholeStereoCamera.cpp.o [ 30%] Building CXX object CMakeFiles/plslam.dir/src/stereoFeatures.cpp.o [ 38%] Building CXX object CMakeFiles/plslam.dir/src/stereoFrame.cpp.o [ 46%] Building CXX object CMakeFiles/plslam.dir/src/stereoFrameHandler.cpp.o [ 53%] Building CXX object CMakeFiles/plslam.dir/src/mapHandler.cpp.o /home/crazy/rosbuild_ws/package_dir/src/pl-slam/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationEssGraphG2O()’: /home/crazy/rosbuild_ws/package_dir/src/pl-slam/src/mapHandler.cpp:4044:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated (declared at /opt/ros/indigo/include/g2o/types/slam3d/vertex_se3.h:119) [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ /home/crazy/rosbuild_ws/package_dir/src/pl-slam/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationCovGraphG2O()’: /home/crazy/rosbuild_ws/package_dir/src/pl-slam/src/mapHandler.cpp:4273:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated (declared at /opt/ros/indigo/include/g2o/types/slam3d/vertex_se3.h:119) [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ [ 61%] Building CXX object CMakeFiles/plslam.dir/src/mapFeatures.cpp.o [ 69%] Building CXX object CMakeFiles/plslam.dir/src/keyFrame.cpp.o [ 76%] Building CXX object CMakeFiles/plslam.dir/src/voScene.cpp.o [ 84%] Building CXX object CMakeFiles/plslam.dir/src/slamScene.cpp.o Linking CXX shared library ../lib/libplslam.so [ 84%] Built target plslam Scanning dependencies of target plslam_dataset [ 92%] Building CXX object CMakeFiles/plslam_dataset.dir/app/plslam_dataset.cpp.o Linking CXX executable plslam_dataset /usr/bin/ld: warning: libopencv_core.so.2.4, needed by /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libmrpt-base.so, may conflict with libopencv_core.so.3.2 ../lib/libplslam.so:对‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::Solver*)’未定义的引用 collect2: error: ld returned 1 exit status make[2]: [plslam_dataset] 错误 1 make[1]: [CMakeFiles/plslam_dataset.dir/all] 错误 2 make: *** [all] 错误 2 crazy@crazy-ThinkPad-T460:~/rosbuild_ws/package_dir/src/pl-slam/build$

chaiein commented 6 years ago

follow the synatax of the g20::Optimization algorithm as mentioned in g2o/examples/ba/ba_sba.cpp

YiChenCityU commented 6 years ago

@f1r1o1n1t1 have you solved the mrpt problem when make?

xmupamizq commented 6 years ago

@f1r1o1n1t1 @YiChenCityU have you solved the MRPT problem when make? I have also met.please.

liangsongLee commented 6 years ago

@xmupamizq @YiChenCityU @f1r1o1n1t1 have you solved the MRPT problem when make? I have also met.please.

xmupamizq commented 6 years ago

I have solved.

发自我的 iPhone

在 2018年3月27日,20:10,liangsongLee notifications@github.com 写道:

@xmupamizq @YiChenCityU @f1r1o1n1t1 have you solved the MRPT problem when make? I have also met.please.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

stdmkmehp commented 6 years ago

@xmupamizq Could you pls tell me more details about how to solve this problem? Thank you very much!

xmupamizq commented 6 years ago

Can you speak Chinese?

发自我的 iPhone

在 2018年3月28日,15:13,waylon notifications@github.com 写道:

@xmupamizq Could you pls tell me more details about how to solve this problem? Thank you very much!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

xmupamizq commented 6 years ago

@stdmkmehp Hi, I'll reply to you in e-mail

wk199 commented 6 years ago

@xmupamizq 请问你用的mrpt是哪个版本啊?我这里和mrpt相关的问题好多

xmupamizq commented 6 years ago

@w1019220367 我是直接用sudo apt-get install libmrpt-dev来安装mrpt的。

fengchen122959 commented 3 years ago

I have solved. 发自我的 iPhone 在 2018年3月27日,20:10,liangsongLee @.***> 写道: @xmupamizq @YiChenCityU @f1r1o1n1t1 have you solved the MRPT problem when make? I have also met.please. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

I met the error while making pl-slam ,have you solved it? thanks

/usr/local/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h:30:64: error: type/value mismatch at argument 4 in template parameter list for ‘template<class Derived, class Scalar, class OtherScalar, bool EnableIt> struct Eigen::internal::special_scalar_op_base’ EigenBase > ^ /usr/local/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h:30:64: note: expected a constant of type ‘bool’, got ‘Eigen::EigenBase’ /usr/local/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h:143:94: error: type/value mismatch at argument 4 in template parameter list for ‘template<class Derived, class Scalar, class OtherScalar, bool EnableIt> struct Eigen::internal::special_scalar_op_base’ typedef internal::special_scalar_op_base<Derived, Scalar, RealScalar, EigenBase > Base; ^ /usr/local/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h:143:94: note: expected a constant of type ‘bool’, got ‘Eigen::EigenBase’ /usr/local/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h:144:11: error: ‘Base’ is not a class, namespace, or enumeration using Base::operator*;

Epiphany-f commented 1 year ago

@xmupamizq 我编译pl-slam的时候出现了/usr/local/include/mrpt/base/include/mrpt/math/lightweight_geom_data.h:775:50: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] TLine2D(const TPoint2D &p1,const TPoint2D &p2) throw(std::logic_error); ^~~~~ /usr/local/include/mrpt/base/include/mrpt/math/lightweight_geom_data.h:849:50: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] TLine3D(const TPoint3D &p1,const TPoint3D &p2) throw(std::logic_error); ^~~~~ /usr/local/include/mrpt/base/include/mrpt/math/lightweight_geom_data.h:941:68: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] TPlane(const TPoint3D &p1,const TPoint3D &p2,const TPoint3D &p3) throw(std::logic_error); ^~~~~ /usr/local/include/mrpt/base/include/mrpt/math/lightweight_geom_data.h:946:48: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] TPlane(const TPoint3D &p1,const TLine3D &r2) throw(std::logic_error); ^~~~~ /usr/local/include/mrpt/base/include/mrpt/math/lightweight_geom_data.h:951:47: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] TPlane(const TLine3D &r1,const TLine3D &r2) throw(std::logic_error); ^~~~~ In file included from /usr/local/include/mrpt/opengl/include/mrpt/opengl/COpenGLViewport.h:14:0, from /usr/local/include/mrpt/opengl/include/mrpt/opengl/COpenGLScene.h:13, from /usr/local/include/mrpt/opengl/include/mrpt/opengl.h:17, from /home/f/pl-slam-master/include/slamScene.h:26, from /home/f/pl-slam-master/src/slamScene.cpp:23: /usr/local/include/mrpt/base/include/mrpt/utils/CImage.h:942:39: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] void makeSureImageIsLoaded() const throw (std::exception,utils::CExceptionExternalImageNotFound ); ^~~~~ In file included from /usr/local/include/g2o/core/sparse_block_matrix.h:43:0, from /usr/local/include/g2o/core/sparse_optimizer.h:34, from /home/f/pl-slam-master/include/mapHandler.h:36, from /home/f/pl-slam-master/src/mapHandler.cpp:23: /usr/local/include/g2o/core/matrix_structure.h:57:19: error: ‘std::string_view’ has not been declared bool write(std::string_view filename) const; ^~~ In file included from /usr/local/include/g2o/core/sparse_block_matrix.h:43:0, from /usr/local/include/g2o/core/sparse_optimizer.h:34, from /home/f/pl-slam-master/include/mapHandler.h:36, from /home/f/pl-slam-master/include/slamScene.h:44, from /home/f/pl-slam-master/src/slamScene.cpp:23: /usr/local/include/g2o/core/matrix_structure.h:57:19: error: ‘std::string_view’ has not been declared bool write(std::string_view filename) const; ^~~ /home/f/pl-slam-master/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationEssGraphG2O()’: /home/f/pl-slam-master/src/mapHandler.cpp:4079:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ In file included from /usr/local/include/g2o/core/base_vertex.h:37:0, from /usr/local/include/g2o/types/slam3d/vertex_se3.h:31, from /home/f/pl-slam-master/include/mapHandler.h:34, from /home/f/pl-slam-master/src/mapHandler.cpp:23: /usr/local/include/g2o/types/slam3d/vertex_se3.h:111:11: note: declared here SE3Quat G2O_ATTRIBUTE_DEPRECATED(estimateAsSE3Quat() const) { ^ /home/f/pl-slam-master/src/mapHandler.cpp: In member function ‘bool PLSLAM::MapHandler::loopClosureOptimizationCovGraphG2O()’: /home/f/pl-slam-master/src/mapHandler.cpp:4309:59: warning: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ is deprecated [-Wdeprecated-declarations] g2o::SE3Quat Tiw_corr = v_se3->estimateAsSE3Quat(); ^ In file included from /usr/local/include/g2o/core/base_vertex.h:37:0, from /usr/local/include/g2o/types/slam3d/vertex_se3.h:31, from /home/f/pl-slam-master/include/mapHandler.h:34, from /home/f/pl-slam-master/src/mapHandler.cpp:23: /usr/local/include/g2o/types/slam3d/vertex_se3.h:111:11: note: declared here SE3Quat G2O_ATTRIBUTE_DEPRECATED(estimateAsSE3Quat() const) { ^ CMakeFiles/plslam.dir/build.make:131: recipe for target 'CMakeFiles/plslam.dir/src/slamScene.cpp.o' failed make[2]: [CMakeFiles/plslam.dir/src/slamScene.cpp.o] Error 1 CMakeFiles/plslam.dir/build.make:75: recipe for target 'CMakeFiles/plslam.dir/src/mapHandler.cpp.o' failed make[2]: [CMakeFiles/plslam.dir/src/mapHandler.cpp.o] Error 1 CMakeFiles/Makefile2:111: recipe for target 'CMakeFiles/plslam.dir/all' failed make[1]: [CMakeFiles/plslam.dir/all] Error 2 Makefile:90: recipe for target 'all' failed make: [all] Error 2, 你能帮我看看吗?

BTREE-C802 commented 1 year ago

您好,我叫旷鸿章,我已经收到了你的邮件。谢谢!