HeYijia / svo_edgelet

A more robust SVO with edgelet feature
GNU General Public License v2.0
434 stars 175 forks source link

build demo with undefined reference to Sophus #14

Closed QMonteCarlo closed 6 years ago

QMonteCarlo commented 6 years ago

[ 82%] Built target svo [ 85%] Linking CXX executable ../bin/test_pipeline ../lib/libsvo.so:对‘Sophus::SE3::operator(Eigen::Matrix<double, 3, 1, 0, 3, 1> const&) const’未定义的引用 ../lib/libsvo.so:对‘Sophus::SO3::log() const’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::operator=(Sophus::SE3 const&)’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::SE3()’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::SE3(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::exp(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&)’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::inverse() const’未定义的引用 ../lib/libsvo.so:对‘Sophus::SE3::operator(Sophus::SE3 const&) const’未定义的引用 ../lib/libsvo.so:对‘Sophus::SO3::matrix() const’未定义的引用 collect2: error: ld returned 1 exit status CMakeFiles/test_pipeline.dir/build.make:141: recipe for target '../bin/test_pipeline' failed make[2]: [../bin/test_pipeline] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/test_pipeline.dir/all' failed make[1]: [CMakeFiles/test_pipeline.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

I have installed Sophus already, what could be the probblem? Thanks in advance.

HeYijia commented 6 years ago

Did you notice the sophus version?

cd Sophus git checkout a621ff mkdir build

QMonteCarlo commented 6 years ago

Yes, I followed the command above. I have previously installed Sophus, so I build the a621ff branch and make install it to cover the master branch. OS is Ubuntu 16.04,with CMake 3.5, gcc 5.4.0

QMonteCarlo commented 6 years ago

Problem Solved, I installed again, completely following the above steps. Thanks again!