我已经在我的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版本的方法。
提前感谢
发布于 2015-06-24 22:05:52
谢谢,
我找到了这个问题的解决方案,但我不确定这个解决方案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/ opencv.pc中删除(或重命名)位置。同样,如果要激活opencv3.0.0,请将opencv.pc添加到其lib/pkgconfig/ location,并从/lib/pkgconfig/opencv.pc中删除opencv2.4.9的opencv.pc文件。
如果有人知道更好的方法,请发表评论。
发布于 2015-06-24 22:11:28
您仍然可以安装这两个版本,并在环境路径上附加要使用的版本的路径。
如果您不知道如何更改系统路径,请检查此选项( How to permanently set $PATH on Linux? )
https://stackoverflow.com/questions/30940122
复制相似问题