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生成如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/67e400dbbf0a4450b599576759ea73e6.png)
需要注意的是如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/16e803d722724800908cb7da068b6af5.png)
第三方库中的名字多了lib的地方需要自行重名。即删除名字中重复lib部分,
opencv静态库的使用
使用时,最简单的办法是使用pkg-config的方式,可以自行百度原理
在?OutLib/lib/pkgconfig目录下有,pc文件,都是给配置好了的,可以直接使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/f73f6656f1e14efdb345c242ce9ae7ad.png)
在命令行中执行
PKG_CONFIG_PATH=/OutLib/lib/pkgconfig
export PKG_CONFIG_PATH
//检验
pkg-config --list-all | grep "OpenCV"
输出以下结果就行可以了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a56057366db4597a62b1a04a2b365c3.png)
以上方法仅一次有效,,想要永久添加需要配置环境变量~/.bashrc。
编译程序时根据下面命令编译即可
g++ `pkg-config --cflags opencv` -o main main.cpp `pkg-config --libs opencv`
生成的main程序可以在任意一个linux平台下运行,不需要安装opencv任何库。
文中的库可以主页下载
链接: opencvlib
from
SDU CNSATM
Inspur IAI