安装的过程真是困难重重啊!不多说了,说说具体过程吧!
- 安装依赖项
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg62-dev libtiff4-dev libjasper-dev
在安装libgtk2.0-dev会出错:
libgtk2.0-dev : 依赖: libgtk2.0-0 (= 2.24.23-0ubuntu1) 但是 2.24.23-0ubuntu1.1 正要被安装
依赖: libpango1.0-dev (>= 1.20) 但是它将不会被安装
依赖: libcairo2-dev (>= 1.6.4-6.1) 但是它将不会被安装
推荐: debhelper 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方法:
在搜索packages.ubuntu.com如图:
然后如图
将红线内的添加到source.list里最后一行后面
sudo vi /etc/apt/sources.list
sudo apt-get update
sudo apt-get install aptitude
sudo aptitude install libgtk2.0-dev
其他的依赖项我也是用的aptitude安装的,安装成功!
解压
opencv-3.2.0.zip下载链接
opencv_contrib-3.2.0.tar.gz下载链接
unzip opencv-3.2.0.zip
tar -xzvf opencv_contrib-3.2.0.tar.gz编译安装
mkdir Opencv
我将这个两个文件拷贝到Opencv 里
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib-3.2.0/modules/> ..
在这期间遇到一个问题:
这是我的g++没有安装,我安装g++后成功了。- 执行安装
make -j4
出现这个问题:
提示在链接libz.a的时候不能重定位,因为libz.a静态库,解决方法:
我重新安装了libz.a,在./configure后生成的Makefile里添加里
CFLAGS= “-fPIC”
如图:
然后,zlib安装过程是
./configure
make
make check
sudo make install
libz.a默认的生成路劲在/usr/local/lib,我将新的libz.a复制到/usr/lib/x86_64-linux-gnu/,这样果然奇迹般的通过了!
最后,
sudo make install
pkg-config - -modversion opencv //检查安装版本