ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)

序:前面已经将Opencv和Qt5.12.12分别交叉编译并部署至RK3588中开发板上了,并验证了在开发板上都可以顺利运行。接下来我们在PC虚拟机QT上搭建将二者结合的IDE便于开发。

一、虚拟机中Ubuntu中安装的qt的方法就不介绍了,可以百度,很好装。

可以去这个网址下载对应的qt软件,Ubuntu上下后缀名为.run的文件。

下载链接:Index of /archive/qt    找到对应的版本下载下来,复制到虚拟机的任意目录下:

下载源码包后解压至任意文件夹,终端运行:

sudo chmod +x qt-opensource-linux-x64-5.12.12.run

 在运行如下指令进行安装:

./qt-opensource-linux-x64-5.12.12.run

稍等一会儿就会安装完成。

二、运行QT Creator

打开QT Creator的安装文件夹,进入/bin文件夹,运行./qtcreator.sh脚本启动Creator.

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第1张图片

 三、QT Creator环境的配置

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第2张图片

 配置QT versions 点击添加,选择我们安装的交叉编译器路径下的qmake,路径为上一章节我们自己编译的QT源码安装目录下。我的是:

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第3张图片

 用于生成Makefile,以编译程序,同时改版本名称为aarch64-linux Qt %{Qt:Version}

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第4张图片

 配置编译器,编译器的路径就是之前我们下载安装的交叉编译器,即编译QT源码时候用的编译器

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第5张图片

 C++编译器和C编译器添加方式相同,如上。

配置kits如下:

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第6张图片

 至此qt交叉编译的环境搭建好了。

四、远程调试Qt程序

首先确保开发板有ssh服务程序

注意开发板和Ubuntu都需要安装rsync服务。

sudo apt-get install rsync。

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第7张图片

添加设备

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第8张图片

 ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第9张图片

 ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第10张图片

 这时会出现测试失败,因为root用户需要密码,不用管,接下来测试是否可以连接开发板时会提示输入密码。

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第11张图片

 ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第12张图片

 ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第13张图片

 ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第14张图片

 至此,虚拟机中的Ubuntu Qt可以远程部署调试开发板qt程序了

接下来选择设备,就大功告成了

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第15张图片

ok大功告成,可以远程调试qt程序了。 

中途遇到了很多坑,比如说,上一张图片中没有选择自己创建的设备,就导致很多库加载不了的情况出现。我遇到的是libpthread.so.0找不到,其实开发板和Ubuntu都可以搜到这个库文件。所以说细节很重要。细节决定成败。

五、编写一个opencv程序部署到开发板测试

ubuntu18.04交叉编译移植OpenCV4.70和QT5.12.12至ARM64位平台LKD3588(开发板为ubuntu22.04系统)(三)_第16张图片

 简单的opencv代码测试

#include
using namespace cv;

int main(int argc,char* argv[])
{
    QApplication a(argc,argv);
    Mat img = imread(":/qq.png");
    imshow("Image",img);
    waitKey(2000);
    destoryAllWindows();
    return a.exec();
}

 我们远程调试的qt环境搭建好了。

注意远程调试程序可能会报错:ld-linux-aarch64.so.1:No such file or directory

可以参考下面链接解决问题:

/lib/ld-linux-aarch64.so.1 no such file or directory-掘金 (juejin.cn)

你可能感兴趣的:(RK3588开发,qt,开发语言)