【问题标题】:Linking OpenCV libraries with Eclipse Ubuntu [duplicate]将 OpenCV 库与 Eclipse Ubuntu 链接 [重复]
【发布时间】:2012-10-11 23:42:17
【问题描述】:

可能重复:
OpenCV on ubuntu 11.10

我很难在 Ubuntu 上安装 OpenCV。我相信我已经安装了 OpenCV;但是,我正在尝试使用 Eclipse 编译示例程序 kalman.cpp 之一,但我无法编译它。我相信我的问题是与图书馆链接。

看了很多教程,不明白为什么在我的电脑上安装opencv后,使用命令pkg-confi opencv --libs后得到如下输出:

manuel@manuel:~$ sudo pkg-config opencv --libs
/usr/local/lib/libopencv_calib3d.so
/usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_legacy.so
/usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_ts.so
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_videostab.so

每个教程那里的库显示为:

-L/where/you/have/installed/opencv/lib -lcxcore -lcv -lhighgui -lcvaux  

这真的很烦人,因为 Eclipse 找不到 libopencv_contrib.so 库。它正在等待 -lopencv_contrib

非常感谢您的帮助。请让我知道我做错了什么。

【问题讨论】:

  • 这里没有必要大声喊叫来回答你的问题。 shift 键效果很好,使用它可以让你的问题更容易阅读。谢谢。
  • 您是通过 aptitude 安装的吗?你试过pkg-config opencv --cflags --libs 吗?

标签: c++ eclipse ubuntu opencv kalman-filter


【解决方案1】:

我从未在 Eclipse 中使用过 OpenCV。我基本上使用 gcc 或 g++(取决于 c 或 C++)文件编译它。

对于 C 文件,

$ gcc -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.c .c` opencvtest.c `pkg-config --libs opencv`

对于 C++ 文件,

$ g++ -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.cpp .cpp` opencvtest.cpp `pkg-config --libs opencv`

欲了解更多信息,请参阅http://jayrambhia.wordpress.com/2012/05/08/beginning-opencv/

如果您对此感到满意,我认为您不需要使用 Eclipse。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    要链接到库,您需要使用-L /path/to/libraries 标志指定其所在目录的路径。

    您还需要使用 -l my_library 的特定库。

    通常您还需要使用-I /path/to/headers 指定必要的包含路径


    pkg-config 可用作执行此操作的助手,因为它返回您使用库所需的确切参数。

    你应该像这样使用它:

    echo `pkg-config opencv --cflags --libs`
    

    分别

    g++ my_first_opencv_app.cc `pkg-config opencv --cflags --libs`
    

    在我的系统上评估为

    g++ my_first_opencv_app.cc -I/usr/include/opencv -lml -lcvaux -lhighgui -lcv -lcxcore
    

    要让它与 eclipse 一起工作,您可能需要通过项目设置中的某个 GUI 元素指定包含路径 (/usr/local/include/opencv ?)、库路径 (/usr/local/lib ?) 和所需的库。那么你可能不需要pkgconfig

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 2020-01-21
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      相关资源
      最近更新 更多