ScaViSLAM
ScaViSLAM copied to clipboard
Compile Error of ScaViSLAM -- backend.cpp.o
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
hi . i am facing with the same error can anyone tell me the fix for this
Not sure if this is a fix..try changing 'insert' to 'this->insert'
Change "insert" to StdEdgeTable::insert. you will compile through.