strasdat / ScaViSLAM

This is a general and scalable framework for visual SLAM. It employs "Double Window Optimization" (DWO).
GNU Lesser General Public License v3.0
334 stars 132 forks source link

Compile Error of ScaViSLAM -- backend.cpp.o #28

Open dawnos opened 11 years ago

dawnos commented 11 years ago

Hi All~ I am trying to compile ScaViSLAM, following the READEME. But I meet the same problem both on ubuntu 12.10-32bit and OpenSUSE 12.2-64bit. It seem that the declartion of function 'insert' was not found. Can anyone help? The following is my output.

tangli@tangli-ubuntu:~/mycode/SLAM/ScaViSLAM/svs_build$ cmake .. -DCMAKE_PREFIX_PATH:PATH=$HOME/svslocal -- The C compiler identification is GNU 4.7.2 -- The CXX compiler identification is GNU 4.7.2 -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CUDA SUPPORT OFF PCL SUPPORT OFF SSE 4.1 SUPPORT OFF -- Found Eigen3: /usr/include/eigen3 (Required is at least version "2.91.0") -- found library 'GL': /usr/lib/i386-linux-gnu/libGL.so -- found library 'pangolin': /home/tangli/svslocal/lib/libpangolin.so -- found library 'glut': /usr/lib/i386-linux-gnu/libglut.so -- found library 'g2o_stuff': /home/tangli/svslocal/lib/libg2o_stuff.so -- found library 'g2o_core': /home/tangli/svslocal/lib/libg2o_core.so -- found library 'g2o_solver_csparse': /home/tangli/svslocal/lib/libg2o_solver_csparse.so -- found library 'csparse': /usr/lib/libcsparse.so -- found library 'g2o_csparse_extension': /home/tangli/svslocal/lib/libg2o_csparse_extension.so -- found library 'VisionTools': /home/tangli/svslocal/lib/libVisionTools.so -- found library 'Sophus': /home/tangli/svslocal/lib/libSophus.so -- found library 'boost_system': /usr/lib/libboost_system.so -- found library 'boost_thread': /usr/lib/libboost_thread.so -- found library 'boost_filesystem': /usr/lib/libboost_filesystem.so -- found library 'boost_regex': /usr/lib/libboost_regex.so -- found library 'opencv_core': /home/tangli/svslocal/lib/libopencv_core.so -- found library 'opencv_features2d': /home/tangli/svslocal/lib/libopencv_features2d.so -- found library 'opencv_flann': /home/tangli/svslocal/lib/libopencv_flann.so -- found library 'opencv_gpu': /home/tangli/svslocal/lib/libopencv_gpu.so -- found library 'opencv_nonfree': /home/tangli/svslocal/lib/libopencv_nonfree.so -- found library 'opencv_highgui': /home/tangli/svslocal/lib/libopencv_highgui.so -- found library 'opencv_imgproc': /home/tangli/svslocal/lib/libopencv_imgproc.so -- found library 'opencv_calib3d': /home/tangli/svslocal/lib/libopencv_calib3d.so -- Configuring done -- Generating done -- Build files have been written to: /home/tangli/mycode/SLAM/ScaViSLAM/svs_build tangli@tangli-ubuntu:~/mycode/SLAM/ScaViSLAM/svs_build$ make -j4 /usr/bin/cmake -H/home/tangli/mycode/SLAM/ScaViSLAM -B/home/tangli/mycode/SLAM/ScaViSLAM/svs_build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory /home/tangli/mycode/SLAM/ScaViSLAM/svs_build' make -f CMakeFiles/ScaViSLAM.dir/build.make CMakeFiles/ScaViSLAM.dir/depend make[2]: Entering directory/home/tangli/mycode/SLAM/ScaViSLAM/svs_build' cd /home/tangli/mycode/SLAM/ScaViSLAM/svs_build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tangli/mycode/SLAM/ScaViSLAM /home/tangli/mycode/SLAM/ScaViSLAM /home/tangli/mycode/SLAM/ScaViSLAM/svs_build /home/tangli/mycode/SLAM/ScaViSLAM/svs_build /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles/ScaViSLAM.dir/DependInfo.cmake --color= Scanning dependencies of target ScaViSLAM make[2]: Leaving directory /home/tangli/mycode/SLAM/ScaViSLAM/svs_build' make -f CMakeFiles/ScaViSLAM.dir/build.make CMakeFiles/ScaViSLAM.dir/build make[2]: Entering directory/home/tangli/mycode/SLAM/ScaViSLAM/svs_build' /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 1 /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 2 /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 3 /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 4 [ 9%] [ 9%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/maths_utils.cpp.o Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/placerecognizer.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/maths_utils.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/maths_utils.cpp /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/placerecognizer.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/placerecognizer.cpp [ 19%] [ 19%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/ransac_models.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/ransac_models.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/ransac_models.cpp Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/homography.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/homography.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/homography.cpp /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 5 [ 23%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/g2o_types/anchored_points.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/g2o_types/anchored_points.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/g2o_types/anchored_points.cpp /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 6 [ 28%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/stereo_camera.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/stereo_camera.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/stereo_camera.cpp /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 7 [ 33%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/backend.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/backend.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/backend.cpp /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 8 [ 38%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/fast_grid.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/fast_grid.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/fast_grid.cpp /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 9 [ 42%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/stereo_frontend.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/stereo_frontend.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/stereo_frontend.cpp In file included from /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/backend.h:23:0, from /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/backend.cpp:18: /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp: In instantiation of ‘void ScaViSLAM::SlamGraph<Pose, Camera, Proj, ObsDim>::EdgeTable::insertEdge(int, int, int, ScaViSLAM::SlamGraph<Pose, Camera, Proj, ObsDim>::EdgeType) [with Pose = Sophus::SE3; Camera = ScaViSLAM::StereoCamera; Proj = ScaViSLAM::SE3XYZ_STEREO; int ObsDim = 3]’: /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/backend.cpp:719:85: required from here /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:339:11: error: ‘insert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:339:11: note: declarations in dependent base ‘std::tr1::_Hashtable<std::pair<int, int>, std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> >, std::allocator<std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> > >, std::_Select1st<std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> > >, std::equal_to<std::pair<int, int> >, ScaViSLAM::IntPairHash, std::tr1::detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::detail::_Prime_rehash_policy, false, false, true>’ are not found by unqualified lookup /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:339:11: note: use ‘this->insert’ instead /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:345:11: error: ‘insert’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:345:11: note: declarations in dependent base ‘std::tr1::_Hashtable<std::pair<int, int>, std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> >, std::allocator<std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> > >, std::_Select1st<std::pair<const std::pair<int, int>, std::tr1::shared_ptr<ScaViSLAM::SlamGraph<Sophus::SE3, ScaViSLAM::StereoCamera, ScaViSLAM::SE3XYZ_STEREO, 3>::Edge> > >, std::equal_to<std::pair<int, int> >, ScaViSLAM::IntPairHash, std::tr1::detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::detail::_Prime_rehash_policy, false, false, true>’ are not found by unqualified lookup /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/slam_graph.hpp:345:11: note: use ‘this->insert’ instead /usr/bin/cmake -E cmake_progress_report /home/tangli/mycode/SLAM/ScaViSLAM/svs_build/CMakeFiles 10 [ 47%] Building CXX object CMakeFiles/ScaViSLAM.dir/scavislam/dense_tracking.cpp.o /usr/bin/c++ -DScaViSLAM_EXPORTS -O3 -g -fPIC -I/home/tangli/svslocal/include/opencv -I/home/tangli/svslocal/include -I/usr/include/eigen3 -I/usr/include/suitesparse -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/ScaViSLAM.dir/scavislam/dense_tracking.cpp.o -c /home/tangli/mycode/SLAM/ScaViSLAM/scavislam/dense_tracking.cpp make[2]: * [CMakeFiles/ScaViSLAM.dir/scavislam/backend.cpp.o] Error 1 make[2]: * Waiting for unfinished jobs.... make[2]: Leaving directory /home/tangli/mycode/SLAM/ScaViSLAM/svs_build' make[1]: *** [CMakeFiles/ScaViSLAM.dir/all] Error 2 make[1]: Leaving directory/home/tangli/mycode/SLAM/ScaViSLAM/svs_build' make: *\ [all] Error 2

dineshreddy1991 commented 11 years ago

hi . i am facing with the same error can anyone tell me the fix for this

aswinthomas commented 11 years ago

Not sure if this is a fix..try changing 'insert' to 'this->insert'

asimay commented 10 years ago

Change "insert" to StdEdgeTable::insert. you will compile through.