报错代码:

--- stderr: calibration_publisher
CMakeFiles/calibration_publisher.dir/src/calibration_publisher.cpp.o: In function `void cv::operator>><cv::Mat>(cv::FileNode const&, cv::Mat&)':
calibration_publisher.cpp:(.text+0x26): undefined reference to `cv::Mat::Mat()'
CMakeFiles/calibration_publisher.dir/src/calibration_publisher.cpp.o: In function `_GLOBAL__sub_I__Z14tfRegistrationRKN2cv3MatE':
calibration_publisher.cpp:(.text.startup+0x35): undefined reference to `cv::Mat::Mat()'
calibration_publisher.cpp:(.text.startup+0x5e): undefined reference to `cv::Mat::Mat()'
calibration_publisher.cpp:(.text.startup+0x80): undefined reference to `cv::Mat::Mat()'
CMakeFiles/calibration_publisher.dir/src/calibration_publisher.cpp.o: In function `main':
calibration_publisher.cpp:(.text.startup+0xa9b): undefined reference to `cv::read(cv::FileNode const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

在这里插入图片描述

解决问题:

打开calibration_publisher功能包对应的Cmakelists.txt
1.crtl+f查找find_package指定你自己的opencv版本

find_package(OpenCV 3.4 REQUIRED)

2.crtl+f查找include_directories将所有的include_directories加上${OpenCV_INCLUDE_DIRS}

include_directories(
  ${OpenCV_INCLUDE_DIRS}
)

3.crtl+f查找target_link_libraries将所有的target_link_libraries加上${OpenCV_LIBS}

target_link_libraries(calibration_publisher
  ${OpenCV_LIBS}
)
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐