koide3/direct_visual_lidar_calibration

catkin_make error

DoongLi opened this issue · 2 comments

[ 77%] Linking CXX executable /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/initial_guess_auto
[ 80%] Linking CXX executable /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/initial_guess_manual
[ 87%] Built target preprocess
[ 90%] Linking CXX executable /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/preprocess_map
/usr/bin/ld: CMakeFiles/initial_guess_manual.dir/src/initial_guess_manual.cpp.o: in function vlcal::InitialGuessManual::update_image()': /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/initial_guess_manual.cpp:239: undefined reference to cv::imshow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)'
/usr/bin/ld: CMakeFiles/initial_guess_manual.dir/src/initial_guess_manual.cpp.o: in function vlcal::InitialGuessManual::on_mouse(int, int, int, int)': /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/initial_guess_manual.cpp:281: undefined reference to cv::imshow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)'
/usr/bin/ld: CMakeFiles/initial_guess_manual.dir/src/initial_guess_manual.cpp.o: in function vlcal::InitialGuessManual::InitialGuessManual(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/initial_guess_manual.cpp:122: undefined reference to cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)'
/usr/bin/ld: /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/initial_guess_manual.cpp:123: undefined reference to cv::setMouseCallback(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(int, int, int, int, void*), void*)' collect2: error: ld returned 1 exit status make[2]: *** [direct_visual_lidar_calibration/CMakeFiles/initial_guess_manual.dir/build.make:216: /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/initial_guess_manual] Error 1 make[1]: *** [CMakeFiles/Makefile2:504: direct_visual_lidar_calibration/CMakeFiles/initial_guess_manual.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /usr/bin/ld: CMakeFiles/initial_guess_auto.dir/src/initial_guess_auto.cpp.o: in function vlcal::InitialGuessAuto::read_correspondences(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::shared_ptr<vlcal::Frame const> const&)':
/home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/initial_guess_auto.cpp:63: undefined reference to cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /usr/bin/ld: CMakeFiles/initial_guess_auto.dir/src/initial_guess_auto.cpp.o: in function cv::Mat::Mat(int, int, int, void*, unsigned long)':
/usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to cv::Mat::updateContinuityFlag()' /usr/bin/ld: /usr/include/opencv4/opencv2/core/mat.inl.hpp:548: undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const*, char const*, int)'
collect2: error: ld returned 1 exit status
make[2]: *** [direct_visual_lidar_calibration/CMakeFiles/initial_guess_auto.dir/build.make:216: /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/initial_guess_auto] Error 1
make[1]: *** [CMakeFiles/Makefile2:855: direct_visual_lidar_calibration/CMakeFiles/initial_guess_auto.dir/all] Error 2
/usr/bin/ld: CMakeFiles/preprocess_map.dir/src/preprocess_map.cpp.o: in function cv::Mat::Mat(int, int, int, void*, unsigned long)': /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to cv::Mat::updateContinuityFlag()'
/usr/bin/ld: CMakeFiles/preprocess_map.dir/src/preprocess_map.cpp.o: in function vlcal::PreprocessMap::save_lidar_data(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<vlcal::Frame const> const&)': /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/preprocess_map.cpp:210: undefined reference to cv::imwrite(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&, std::vector<int, std::allocator > const&)'
/usr/bin/ld: /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/preprocess_map.cpp:211: undefined reference to cv::imwrite(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)' /usr/bin/ld: CMakeFiles/preprocess_map.dir/src/preprocess_map.cpp.o: in function cv::Mat::Mat(int, int, int, void*, unsigned long)':
/usr/include/opencv4/opencv2/core/mat.inl.hpp:548: undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)' /usr/bin/ld: CMakeFiles/preprocess_map.dir/src/preprocess_map.cpp.o: in function vlcal::PreprocessMap::run(int, char**)':
/home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/preprocess_map.cpp:69: undefined reference to cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /usr/bin/ld: /home/doongli/catkin_ws_4/src/direct_visual_lidar_calibration/src/preprocess_map.cpp:75: undefined reference to cv::imwrite(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&, std::vector<int, std::allocator > const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [direct_visual_lidar_calibration/CMakeFiles/preprocess_map.dir/build.make:216: /home/doongli/catkin_ws_4/devel/lib/direct_visual_lidar_calibration/preprocess_map] Error 1
make[1]: *** [CMakeFiles/Makefile2:963: direct_visual_lidar_calibration/CMakeFiles/preprocess_map.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j36 -l36" failed

This depends on the problem of OpenCV, but I have installed OpenC3.4.1

find_package(OpenCV 4 REQUIRED) and It's passed.