将 OpenCV 库与 Eclipse Ubuntu 链接 [重复]

Posted

技术标签:

【中文标题】将 OpenCV 库与 Eclipse Ubuntu 链接 [重复]【英文标题】:Linking OpenCV libraries with Eclipse Ubuntu [duplicate] 【发布时间】: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 吗? 【参考方案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

【讨论】:

以上是关于将 OpenCV 库与 Eclipse Ubuntu 链接 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Linux(Ubunt)使用日记------常用软件汇总(不定时更新)

如何在Eclipse下配置opencv

OpenCV - 如何使用 Eclipse C++ IDE 将 /home 中编译的 opencv 库优先于 /usr/lib/ 中编译的库

将 opencv 与 C++ .net 应用程序编译问题一起使用

怎样在eclipse中加载opencv for android

将 Opencv_2.4.9 与 Visual Studio 一起使用时出现错误 C1075? [关闭]