linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)

linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)

1.如果内网主机无法通过网络安装opencv环境,此时需要使用静态库编译方法生成opencv应用程序,此时需要opencv相关的libxx.a
2.这样linux下编译的程序就不需要安装opencv也能运行opencv程序,该方法应该可以拓展到交叉编译,使用arm编译应用程序应该同样支持

编译opencv静态库

1.opencv源代码下载地址:https://opencv.org/releases/

2.解压压缩包,进入目录,执行如下操作:
下面展示一些 内联代码片

mkdir build
cd build
mkdir OutLib
cd ..
cmake  ../ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/OutLib -DBUILD_SHARED_LIBS=0 -DBUILD_SHARED_LIBS=OFF -DBUILD_SHARED_LIBS=NO -DBUILD_PNG=ON -DBUILD_JASPER=ON -DBUILD_JPEG=ON -D BUILD_TIFF=ON -DBUILD_ZLIB=ON -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_JASPER=ON -DWITH_TIFF=ON

make

make install

注意 -D参数后不能有空格
安装完成后将会在根目录/OutLib生成如下:
linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)_第1张图片

需要注意的是如图
linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)_第2张图片
第三方库中的名字多了lib的地方需要自行重名。即删除名字中重复lib部分,

opencv静态库的使用

使用时,最简单的办法是使用pkg-config的方式,可以自行百度原理
在?OutLib/lib/pkgconfig目录下有,pc文件,都是给配置好了的,可以直接使用

linux下opencv2.4 静态库编译与使用(针对内网主机无法安装opencv情况下使用)_第3张图片
在命令行中执行


PKG_CONFIG_PATH=/OutLib/lib/pkgconfig

export PKG_CONFIG_PATH
//检验
pkg-config --list-all | grep "OpenCV"

输出以下结果就行可以了。
在这里插入图片描述
以上方法仅一次有效,,想要永久添加需要配置环境变量~/.bashrc。
编译程序时根据下面命令编译即可

 g++ `pkg-config --cflags opencv` -o main main.cpp `pkg-config --libs opencv`

生成的main程序可以在任意一个linux平台下运行,不需要安装opencv任何库。

文中的库可以主页下载

链接: opencvlib
from
SDU CNSATM
Inspur IAI

你可能感兴趣的:(opencv,linux,人工智能)