如何在一台Ubuntu机器上安装2个Opencv版本以及如何一次激活一个以进行编译?

时间:2015-06-19 14:02:11

标签: c++ linux opencv image-processing filesystems

我在我的ubuntu12.04机器上安装了两个版本的opencv,一个在/usr/local/ (opencv3.0.0),另一个在/usr/ (opencv2.4.9). 要激活特定版本,我在终端中使用这些命令。 示例:要激活opencv2.4.9,

sudo sh -c 'echo "/usr/" > /etc/ld.so.conf.d/opencv.conf' (shell script)
sudo ldconfig
export PKG_CONFIG_PATH=/usr/lib/pkgconfig

执行这些命令后,版本正在发生变化。 使用命令pkg-config --modversion opencv进行检查。 然后我编译了我的代码并检查了使用过的库,使用ldd命令, 它列出了opencv3.0.0版本而不是opencv2.4.9.

请帮助纠正切换opencv版本的方法。

提前致谢

2 个答案:

答案 0 :(得分:1)

谢谢,

我找到了解决这个问题的方法,但我不确定iIfound是否正确的解决方案。但它对我来说很好。

当我们在不同的位置安装两个版本的opencv时,我们会在{path} /lib/pkgconfig/opencv.pc中找到两个opencv.pc文件。 在上面的示例中,opencv2.4.9的opencv.pc文件位于此路径usr / lib / pkgconfig / opencv.pc中。 和opencv3.0.0的opencv.pc文件在此路径中/usr/local/lib/pkgconfig/opencv.pc 当我们编译代码时,它将在两个位置搜索opencv.pc配置文件,它将首先使用它,而忽略第二个。
因此,如果想要使用特定版本编译代码,我们需要从该位置删除此opencv.pc文件。

如果要使用opencv2.4.9从opencv3.0.0的lib / pkgconfig / location中删除(或重命名)opencv.pc。如果想要激活opencv3.0.0,请将opencv.pc添加到其lib / pkgconfig / location并从/lib/pkgconfig/opencv.pc中删除opencv2.4.9的opencv.pc文件。

如果有人知道更好的方法,请发表评论。

答案 1 :(得分:1)

您仍然可以安装这两个版本,并在环境路径中附加您要使用的版本的路径。

如果您不知道如何更改系统路径,请检查此(How to permanently set $PATH on Linux?