1、petalinux-config -c rootfs 中选择以下
mili
opencv
qt
qt-extended
x11
2、petalinux-build petalinux-build --sdk petalinux-package --sysroot
3、复制image/linux sdk.sh到开发人员的文件夹,安装此sdk,可脱离vitis和petalinux环境
4、sdk
安装 ./sdk
输入 路径
5、每次运行qt前 配置环境 source environment-setup-aarch64-xilinx-linux
6、在qt中配置交叉编译环境
7、qt新建工程
(1)在**.pro中 最后加入
INCLUDEPATH += /home/lcl/Soft/Sdk/sysroots/aarch64-xilinx-linux/usr/include
LIBS += \
-lopencv_imgcodecs \
-lopencv_highgui \
-lopencv_imgproc \
-lopencv_core \
(2)main.cpp
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgcodecs/imgcodecs.hpp"
#include "opencv/cv.hpp"
......
QImage *image;
//
IplImage* frame_yuv;
frame_yuv = cvCreateImage(CvSize(IMAGEWIDTH,IMAGEHEIGHT_ALL),IPL_DEPTH_16U,1);
随便一个qt和opencv的程序都行,点击编译,编译成功。
8、将程序在板上运行,可以成功运行,并实现功能。
9、如果找不到**.so或者说找不到一些函数,则需要确定此函数的头文件是否已经正确包含,还有就是在sdk安装的交叉编译环境中,正确设置opencv的环境变量,在aarch64-xilinx-linux/usr/include的文件夹中,
ldconfig -p | grep opencv
sudo ldconfig -v