一、环境配置
pkg-config是用于编译时指定第三方库的头文件路径及链接库路径的,我们需要借助pkg-config来编译opencv程序。
pkg-config的工作流程:通过XXX.pc文件来找到指定的头文件及库路径的,而XXX.pc文件的路径又需要在环境变量PKG_CONFIG_PATH中指出。
1、创建并编辑opencv-himix200.pc文件
在所选目录下创建pkgconfig目录
$ mkdir pkgconfig
进入pkgconfig目录下创建并编辑opencv-himix200.pc,内容如下:
# Package Information for pkg-config
prefix=/mnt/hgfs/ShareFolder/opencv320/install
includedir=${prefix}/include
Name: opencv-himix200
Description: Open Source Computer Vision Library for arm
Version: 3.2.0
Cflags: -I${includedir}
Libs: -L${prefix}/lib -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videoio -lopencv_videostab
以上各项含义如下:
Name: XXX.pc的文件名,如opencv-himix200.pc就取opencv-himix200
Description:随便填下
Version:opencv的版本号
Cfalgs:指定头文件的路径(-I+opencv头文件路径,如#include "opencv2/core.hpp"这样的,就只需指到opencv2的上一级include)
Libs:指定库路径及列出所有的链接库
2、配置环境变量
编辑 /etc/bash.bashrc 文件,在最后加上:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/mnt/hgfs/ShareFolder/pkgconfig
export PKG_CONFIG_PATH
编辑完,保存。
然后,使环境变量生效:
source /etc/bash.bashrc
二、编译opencv程序
1、创建opencv程序
2、交叉编译
arm-himix200-linux-g++ `pkg-config --cflags opencv-himix200` `pkg-config --libs opencv-himix200` -lpthread -lrt -ldl example.cpp -o example
用 arm-himix200-linux-g++编译器,pkg-config指定链接的第三方库,还链接了线程库pthread、rt库、dl库,将example.cpp编译成example目标文件。
三、移植至开发板
将安装的opencv库移到开发板上去,只需将安装目录的 lib 目录下的库(*.so文件)复制到开发板上的/lib目录。(可先拷贝到nfs挂载目录下,再使用mv命令进行移动)
参考资料:https://blog.csdn.net/qq_30155503/article/details/80005622