• VINS bug 调试 : undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>,


    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:46: undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /usr/include/opencv4/opencv2/core/persistence.hpp:1264: 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&)'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:54: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:55: undefined reference to `cv::FileNode::operator int() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:56: undefined reference to `cv::FileNode::operator double() const'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /usr/include/opencv4/opencv2/core/persistence.hpp:1264: 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&)'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:70: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:71: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:72: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:73: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:74: undefined reference to `cv::FileNode::operator double() const'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o:/home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:75: more undefined references to `cv::FileNode::operator double() const' follow
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:79: undefined reference to `cv::FileNode::operator int() const'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    CMakeFiles/vins_estimator.dir/src/parameters.cpp.o: In function `readParameters(ros::NodeHandle&)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:118: undefined reference to `cv::FileNode::operator double() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:119: undefined reference to `cv::FileNode::operator int() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:125: undefined reference to `cv::FileNode::operator int() const'
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/parameters.cpp:128: undefined reference to `cv::FileNode::operator double() const'
    CMakeFiles/vins_estimator.dir/src/estimator.cpp.o: In function `cv::Mat::Mat(int, int, int, void*, unsigned long) [clone .constprop.4076]':
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:561: 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/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)'
    CMakeFiles/vins_estimator.dir/src/estimator.cpp.o: In function `void cv::cv2eigen<double>(cv::Mat const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&) [clone .constprop.3981]':
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    /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)'
    CMakeFiles/vins_estimator.dir/src/estimator.cpp.o: In function `Estimator::initialStructure()':
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:1711: undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
    CMakeFiles/vins_estimator.dir/src/utility/visualization.cpp.o: In function `printStatistics(Estimator const&, double)':
    /home/isee324/catkin_ws/src/VINS-Mono-master/vins_estimator/src/utility/visualization.cpp:79: undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    CMakeFiles/vins_estimator.dir/src/utility/visualization.cpp.o: In function `printStatistics(Estimator const&, double)':
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    /usr/include/opencv4/opencv2/core/mat.inl.hpp:568: undefined reference to `cv::Mat::updateContinuityFlag()'
    CMakeFiles/vins_estimator.dir/src/utility/visualization.cpp.o: In function `printStatistics(Estimator const&, double)':
    /usr/include/opencv4/opencv2/core/persistence.hpp:1219: undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /usr/include/opencv4/opencv2/core/persistence.hpp:1208: undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Mat const&)'
    /usr/include/opencv4/opencv2/core/persistence.hpp:1219: undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /usr/include/opencv4/opencv2/core/persistence.hpp:1208: undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Mat const&)'

    在VINS 的catkin_make 过程中,出现了以上的undefined问题,网上是了很多办法都不行,最后看到一个关于opencv路径的问题,这里的路径是:

    /usr/include/opencv4/opencv2

    很是奇怪,所以更改了cv_bridgeConfig.cmake里面的include 语句。

    需要用到下面的命令行:

    pkg-config --cflags opencv(查看系统的opencv路径在那里)

    我的路径显示的是  -I/usr/local/include/opencv           -I/usr/local/include

    在cv_bridgeConfig.cmake里将原来的路径改为以后两个路经。

    原本是这个路经  set(_include_dirs "include;/usr/local/include;/usr/local/include/opencv4")
    改完后 是:   set(_include_dirs "include;/usr/local/include;/usr/local/include/opencv")

    然后,catkin_make ,

    done : ) !

  • 相关阅读:
    《2019年软件工程助教培训计划》
    地铁线路项目-结对编程
    预培训-个人项目(地铁线路规划)
    粗读《构建之法》后的问题
    netapp 修改IP地址
    jump server 2.6.1 安装与配置
    CCNA-实验1-Manage_IOS
    系统结构综合实践期末大作业 第22组
    2017级系统综合实践第7次实践作业 01组
    2017级系统综合实践第6次实践作业 01组
  • 原文地址:https://www.cnblogs.com/xsy123/p/14488021.html
Copyright © 2020-2023  润新知