linux安装库,基本流程都差不多。
下载源码
首先去下载源码
$ unzip opencv-3.4.1.zip
编译安装
$ sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev
libopenexr-dev libtbb-dev # 下载依赖项
依赖项添加的不同,opencv的功能一会有差别,在cmake阶段会根据你的依赖项的不同自己调整功能
$ cd opencv-3.4.1
$ mkdir build
$ cd build
$ cmake ..
$ make # 这一步会花一点时间,大概20分钟到一个小时,如果你的cpu性能好,可以用 make -j4
# 这一步我在完成百分之99后过了十分钟左右才跑完最后百分之一。。。。。。。。。。
$ sudo make install
安装以后opencv默认存储到了/usr/local,如果要指定目录可以用make DESTDIR=/install/directory install
到这里就可以结束了,因为我用的是clion所以,我只需要该一下cmakelists就可以了
在cmakelists添加:
# 寻找opencv库
find_package( OpenCV REQUIRED)
# 添加头文件
include_directories( ${OpenCV_INCLUDE_DIRS})
# 链接opencv库 添加在add_executable()后面
target_link_libraries( t ${OpenCV_LIBS})
运行结果如下:
其他教程还写了添加链接库和头文件位置,我还不知道有什么用,也配上了,不配应该也可以的。
添加链接库
在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib),
也可以在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib
$ sudo vim /etc/ld.so.conf
# 添加 /usr/local/lib
# 查看生成的动态库
$ cd /usr/local/lib
$ ls
使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统共享
sudo ldconfig -v
指定头文件位置
完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ sudo vim /etc/profile
# 添加export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig