OpenCV在Ubuntu中安装它的库文件到哪里?

10

我安装了Ubuntu 10操作系统,并在软件中心里尽可能地安装了所有OpenCV包。我期望它会在某个地方安装一些.lib文件,这样我就可以在我的项目中引用它们,但是我找不到它们的位置。它把它们放在哪里呢?

我想在C++中使用Eclipse作为IDE编程,但是我在初始设置方面遇到了问题。我对在Eclipse和Ubuntu上编程都很新手,所以如果有人有一个逐步指南,我会很感激。


哦,上次我检查的时候,“10”并不是Ubuntu的一个发行版本... - Billy ONeal
如果这能够澄清问题,我实际上安装了Ubuntu 10.04。 - Mr Bell
我也曾在Ubuntu 1104上遇到同样的问题。我将我的解决方案放在了http://ikharn.blogspot.com/2011_09_01_archive.html上。 - Netro
4个回答

21

你可以使用pkg-config --libs opencv找到适当的链接标志,使用pkg-config --cflags opencv找到适当的包含文件。

实际的库应该安装在/usr/lib下,名称如libhighgui.a或libhighgui.so,但你可能不必直接引用这些文件。只需将上述命令的输出正确地放置在Eclipse中的适当位置以设置链接标志和包含目录即可。如果你真的想知道哪些库与OpenCV相关,pkg-config --libs opencv的输出会给出名称。例如,该命令的一个输出是-lhighgui,因此我们知道在/usr/lib中应该有一个名为libhighgui.so的文件。

我有一段时间没有在C或C++中使用Eclipse了,所以我记不得那些选项在哪里,但它们肯定还在某个地方。


好的,这就解释了为什么我找不到它们。我本来期望能够找到实际的.lib文件,比如像opencv.lib这样的文件。在Ubuntu中,lib*.so文件和Windows中的.lib文件是一样的吗? - Mr Bell
@Mr Bell:我不确定在Windows上.lib文件是什么,所以无法回答这个问题。然而,在Linux中,lib*.so对应于共享库,而lib*.a对应于静态库。希望这可以帮到你。 - Eric Perko
在 pkg-config 搜索路径中未找到 opencv 包。 也许您应该将包含 opencv.pc 的目录添加到 PKG_CONFIG_PATH 环境变量中。 未找到 'opencv' 包。 - waspinator
嗨,我使用了opencv.org的官方教程,但无法完成安装。我按照这里所说的做了,但是当我尝试添加路径时,我就找不到它了。我的ubuntu 14.04.1的include文件夹中什么也没有。你能帮我吗? - Rasool

5
根据Eric的说法
pkg-config --libs opencv

将返回需要包含的库文件,如果涉及到包含文件路径,则为/usr/include/opencv。如果您希望它自动添加,请将以下内容与Eric命令一起添加到命令中 --cflags。例如,假设要编译的文件是test.c,则整个命令将是:
g++ test.c `pkg-config --libs --cflags opencv`

希望这可以帮助你。

1
这是一个明智的回答。除此之外,我建议使用g++而不是gcc。这将在编译时自动链接stdc++,以防出现链接错误。 - Rob Stewart
嗨,我使用了opencv.org的官方教程,但无法完成安装。我按照这里所说的做了,但是当我尝试添加路径时,我就找不到它了。我的ubuntu 14.04.1的include文件夹中什么也没有。你能帮我吗? - Rasool

2

dpkg -L opencv 命令将会列出所有从 opencv 包中安装的文件列表。请注意,它不会显示那些在安装过程中生成的但并不在包本身中的文件。如果您对 opencv 不熟悉,我无法确定这是否会对您造成问题。


2

OpenCV库以.a(静态库)或.so(动态库)格式安装。

您可以在 /usr/local/lib 找到 OpenCV2(即 C++ 版本)库(例如 libopencv_core.so、libopencv_highgui.so 等)。如果您只需要C版本的库(例如 libcv.a、libcxcore.a 等),则可以在 /usr/lib 中找到它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接