将 OpenCV 库与 Eclipse Ubuntu 链接起来



可能的重复项:
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

我真的很感谢你的帮助。请让我知道我做错了什么。

我从来没有在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。

希望这有帮助。

要链接到库,您需要使用 -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

最新更新