ubuntu16.04 编译opencv4和opencv_contrib
下载源码安装最新的cmake使用cmake-gui配置cmake文件make && install添加环境变量1. 首先设置库(make install 后生成的.so文件)的环境变量2. 修改~/.bashrc文件,加入环境变量下载源码
opencvopencv-contrib安装最新的cmake
下载 cmake 压缩版或者sh文件解压或运行,我这里放到了/home/username/cmake-3.13
目录下创建软链接ln -sf /home/username/cmake-3.13/bin/* /usr/bin/
使用cmake-gui配置cmake文件
configure (需要下载opencv的依赖,可能需要科学上网)勾选BUILD_opencv_world配置OPENCV_EXTRA_MODELS_PATH再次运行configure运行generate
make && install
关闭gui界面,进到build目录下cd opencv/opencv4/build/makesudo make install
添加环境变量
其实ubuntu和windows并无区别,你要想让你的依赖opencv库的外部程序能够运行,一样需要设置opencv的环境变量,只是配置方法略有不同。
如果遇到
error while loading shared libraries: libopencv_.so.: cannot open shared object file: No such file or directory
类似问题,就是环境变量没设置,照着下面的步骤修改一下就ok了。
1. 首先设置库(make install 后生成的.so文件)的环境变量
打开/etc/ld.so.conf文件(/etc属于根目录,需要管理员权限sudo)sudo gedit /etc/ld.so.conf
在文件中加入一行include /usr/local/lib(/usr/local是makefile中的CMAKE_PREFIX_INSTALL的值,windows下的文件安装目录,默认是/usr/local,也可以自己修改)
保存文件,执行命令
sudo ldconfig
2. 修改~/.bashrc文件,加入环境变量
打开~/.bashrc 文件gedit ~/.bashrc
文件末尾加入一行export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
(注意:如果上面不是/usr/local,而是自定义路径,这里相应地也要修改)
source ~/.bashrc