将 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)使用日记------常用软件汇总(不定时更新)
OpenCV - 如何使用 Eclipse C++ IDE 将 /home 中编译的 opencv 库优先于 /usr/lib/ 中编译的库
将 opencv 与 C++ .net 应用程序编译问题一起使用