安装依赖
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev
遇到如下问题:
E: Package 'libvtk5-dev' has no installation candidate
E: Package 'libtiff4-dev' has no installation candidate
Unable to locate package libjasper-dev
解决:
- libvtk5-dev使用libvtk6-dev进行替换
- libtiff4-dev使用libtiff-dev进行替换
- 为libjasper添加依赖源
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
下载OpenCV源码
打开火狐浏览器下载源码
下载地址:https://codeload.github.com/opencv/opencv/zip/3.2.0
对源码进行编译
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 ..
make -j4
sudo make install
遇到如下问题
/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
#include_next <stdlib.h>
解决:
在编译opecv-3.2.0时,加入如下选项:
-D ENABLE_PRECOMPILED_HEADERS=OFF
#预编译头文件 是一种优化技术,将不常更改的大型头文件预先编译为二进制格式,之后编译器可以直接加载,减少编译时间。
cmake -D ENABLE_PRECOMPILED_HEADERS=OFF ..
make -j4
sudo make install