linux下opencv安装的依赖关系让新手头疼不已,以下是我的安装过程,博客新手,仅供自己日后查看吧!
首先感谢这两篇文章的指导:
http://blog.sina.com.cn/s/blog_469e7c650100pl1t.html
我的安装总结:
一、解决基本的依赖问题:(其中有CMAKE的安装,很方便)
1.安装gtk2-devel、ffmpeg-devel openjpeg-devel、libpng-devel库
命令:yum install cmake gtk2-devel ffmpeg-devel openjpeg-devel libpng-devel -y
二、 手动安装ffmpeg0.7+x(注意ffmpeg版本不能太高,否则之后编译opencv2.3.1会出现编译错误)
1、若有旧版ffmpeg,进入相应目录执行 make uninstall卸载
2、下载ffmpeg并解压到一个临时文件夹 (自己找吧)
3、进入上述文件夹中,执行配置脚本
./configure --enable-shared --enable-gpl --enable-swscale --enable-libx264 --enable-libxvid(后面两个选项须先安装另外两个库xvid和x264,若事先没有安装可去掉后两个选项),编译动态链接库,允许按gpl的方式使用库, 编译swscale库(最新版ffmpeg,这个是默认的)
4、make && make install
所有的库文件默认安装在/usr/local/lib 下, 所有的头文件安装在 /usr/local/include/lib…下,也可以改变默认安装位置(在configure 最后添加 –prefix=DIR)。
验证下 :ffplay anyvideofile
第一
、安装
gtk2-devel
、
ffmpeg-devel openjpeg-devel
、
libpng-devel
库
命令:
yum install cmake gtk2-devel ffmpeg-devel openjpeg-devel
libpng-devel -y
第一
、安装
gtk2-devel
、
ffmpeg-devel openjpeg-devel
、
libpng-devel
库
命令:
yum install cmake gtk2-devel ffmpeg-devel openjpeg-devel
libpng-devel -y
在编译时可能提示需要先安装yasm三、安装pkg-config(我的fedaro14自带pkg-config,所以这步忽略)
pkg-config 是一个库文件安装信息管理工具,它可以返回已安装的库文件及其相关头文件的位置信息。安装这个极容易,自己下载安装把。pkg-config 通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg 安装程序会在/usr/local/lib/pkgconfig目录下提供libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。但pkg-confg默认只搜索/usr/lib/pkgconfig目录,去寻找.pc文件,这里需要添加一个环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安装信息。
四 安装opencv
1、在源代码目录下 mkdir release && cd release
2、cmake ../ (重点)
使用cmake 生成编译opecv的Makefile 文件, ../ 是opencv的源代码目录,里面包含了预置的cmake 配置文件CmakeLists.txt。这里的输出,会显示默认配置下,各模块的检测情况,重点是opencv所需工具库是否被检测到,例如视频编解码库、TBB库等。查看CmakeLists.txt文件可知,cmake使用pkg-config获取所需的库文件的信息,这就是为什么一定要安装pkg-config的原因。如果你看到FFMPEG及其下各子项的值为1,ok,检测到了,如果为0,核对1、2两步骤,看是否成功安装了ffmpeg,以及pkg-config是否可以检测到ffmpeg:
3、make && make install 默认 opencv将被安装在 /usr/local/ 下。
4、设置库路径 :创建文件opencv.conf
命令:vi /etc/ld.so.conf.d/opencv.conf 输入/usr/local/lib,并保存退出
5、设置环境变量 命令:
vi /etc/profile 在末尾加入:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
更新环境变量 命令:$ source /etc/profile
6、设置另外环境变量: 命令:vi /etc/bashrc 在末尾加入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 更新环境变量 命令:source /etc/bashrc
7、更新系统库缓存 命令:# ldconfig