【问题标题】:FlannBasedMatcher matcher buildingFlannBasedMatcher 匹配器构建
【发布时间】:2016-01-09 07:05:16
【问题描述】:

只要我添加到我的代码

FlannBasedMatcher matcher;

编译时出现以下错误

g++ -o "track" ./track.o -lopencv_imgproc -lopencv_features2d -lopencv_nonfree -lopencv_core -lopencv_highgui -lopencv_video /usr/bin/ld: ./track.o: 未定义的符号引用 '_ZN2cv5flann12SearchParamsC1Eifb' //usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4: 添加错误 符号:命令行collect2中缺少DSO:错误:ld返回1 退出状态

有什么想法吗?我正在运行 Ubuntu

谢谢

【问题讨论】:

    标签: c++ linux opencv


    【解决方案1】:

    回答之前的问题 (Strange linking error: DSO missing from command line)

    您应该在对象之后的命令行中提及库 正在编译的文件

    所以,在你的情况下:

    1. 找出 _ZN2cv5flann12SearchParamsC1Eifb(实际上是“cv::flann::SearchParams::SearchParams(int, float, bool)”)的定义:

    nm -AD --defined-only /usr/lib64/libopencv_so. | grep _ZN2cv5flann12SearchParamsC1Eifb /usr/lib64/libopencv_flann.so.2.4:0000000000029650 T _ZN2cv5flann12SearchParamsC1Eifb /usr/lib64/libopencv_flann.so.2.4.9:0000000000029650 T _ZN2cv5flann12SearchParamsC1Eifb

    1. 在链接命令被引用后立即添加 -lopencv_flann:

    g++ fbm.cc -o fbm -lopencv_flann -lopencv_imgproc -lopencv_features2d -lopencv_nonfree -lopencv_core -lopencv_highgui -lopencv_video

    用于测试的代码示例:

    #include <opencv2/features2d/features2d.hpp>
    
    using namespace cv;
    FlannBasedMatcher matcher;
    
    int main()
    {}
    

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2023-03-11
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多