【前言】
D9360商显板,开发显示界面,安装QT的开发环境是迈出的第一步,所谓万丈高楼平地起。迈开这一步,花了我整整两天的时间,在这里先要给米尔的威廉希尔官方网站
支持点个赞,特别是李工,耐心的指导我,迈出了这一步,真的是万分感谢。所以选择米尔,你将可以得米尔科技最优质的威廉希尔官方网站
服务!下面我将创建QT开发环境记录如下,一来方便以后搭建环境做回看,二来,如果有同样的需求的大佬们,如果遇到同样的情况,少走弯路。
【走的弯弯路】
1、选择ubuntu版本,我前面为了追求高版本,我安装了ubuntu22,结果在编译SDK时就遇到问题。后面选择不编译SDK,想直接用source下在的qmake来配置QT环境,结报一大堆的头文件引用的错,手工添加头文件到.pro中,也是填了这个文件的坑又有另一个文件的坑,后面放弃。
2、QT版本的选择,在ubuntu22下面我选择命行安装的qt,但是一直配置不上qmake,最起先以为是QT版本的问题,折腾好久后也还是没有搞定,后面放弃。
3、在ubuntu18.04下面,我选择命行安装QT结果安装的版本是QT5.9的版本,后面也是配置不上编译环境,后面放弃。选择在线安装,结果现在在线安装最低版本也是QT6.0,与SDK的QT5.15.2相差太大,也放弃。
【正确的步骤】
1、安装ubuntu18.04。网上有教程,略过。
2、安装交叉编译器,在《MYD-YD9X Linux 软件开发指南》有详细的教程,我在https://bbs.elecfans.com/jishu_2421322_1_1.html这篇帖子上面有详细的介绍。
3、解压SDK压缩包,把SDK上传到虚拟机后,在虚拟机上新建/home/MYD9X,并把SDK上传到这个目录,安装7z的解压工具。【注】如果在win11下面解压,一会报错,二,即使解压出来,14G的包,上传也需要太久的时间。
4、配置编译选项,进入/home/MYD9X/MYD-YD9X-SDK_V1.0$ 目录下面,为了少出错,威廉希尔官方网站
提示最好用root用户来操作。执行如下命令
lu@ubuntu:/home/MYD9X/MYD-YD9X-SDK_V1.0$ ./build.sh config
===============================================================
=
=
=
=
=
=
===============================================================
chip_choose
1: d9
2: d9310
3: d9342
4: d9350
5: d9360
6: d9368
choose:
这里选择5,进入下一步:
select CHIPVERSION=d9360
machine_project_choose
1: d9360_android_ref
2: d9360_ref
choose:
下面是选 择安下图的步骤进行操作
chip_choose
1: d9
2: d9310
3: d9342
4: d9350
5: d9360
6: d9368
choose: 5
select CHIPVERSION=d9360
machine_project_choose
1: d9360_android_ref
2: d9360_ref
choose: 2
select MACHINE_PROJECT=d9360_ref
boot_mode_choose
1: ospi1
2: emmc_only
3: sdcard
choose: 2
select SD_BOOT_MODE=emmc_only
rootfstype_choose
1: ubuntu
2: buildroot
3: euler
choose: 2
select MACHINE_ROOTFS_TYPE=buildroot
linuxversion_choose
1: linux
choose: 1
选择回车后,会显示配置成功的样子:
select SD_KERNEL_DIR=/home/MYD9X/MYD-YD9X-SDK_V1.0/source/linux
./build.sh: line 86: .project.conf: Permission denied
然后再执行./build.sh就开始编译了。需要等待好久,我使用16核CPU+16G的内存,编译了差不多3个小时才完成。

最后如果出现这个提示就说明编译成功了:

【固件位置】
在固件目录的out下面就是存放编好的固件。这里面就有我们使用QT的重要文件,在后面有使用到。

【QT安装】
我在前面说使用了N种安装,结果都失败了,最后面只有下载了qt-opensource-linux-x64-5.14.2.run的离线安装包来安装。

在线下载会非常慢,我是复制好链接后,使用迅雷下载的。
下载好后上传给虚拟机,执行安装。安装教程非常多,这里大家就需要先去注册一个帖号,才能顺利安装完。这里不细说。
【交叉编译工具的配置】
1、新建一个工程。打开菜单tools下面的options

2、打开Compilers菜单,在Manual下面的C上新建一个编译器选项

选择的arm-gcc为SDK的文件:/home/MYD9X/MYD-YD9X-SDK_V1.0/out/images_d9360_ref/build_object/ap1_d9360_ref_buildroot/host/usr/usr/bin/aarch64-none-linux-gnu-gcc
3、添加g++的编译器先项,如同上面,新建一个g++的选项,编译器选择为:

文件为:/home/MYD9X/MYD-YD9X-SDK_V1.0/out/images_d9360_ref/build_object/ap1_d9360_ref_buildroot/host/usr/usr/bin/aarch64-none-linux-gnu-g++
4、点击QT Version选项,在Munal下面新增Qmak,如下图所示

文件为:/home/MYD9X/MYD-YD9X-SDK_V1.0/out/images_d9360_ref/build_object/ap1_d9360_ref_buildroot/host/usr/usr/bin/qmake
5、配置kit,按下图分别配置好选项。

到此配置就弄好了,我们打开一个工程加入一个安键与一个标签

然后选择编译器为D9,进行构建

【运行效果】
1、把开发板的示例demo停止,用ps查看到进行,
2167 root /usr/bin/mxapp2 -platform eglfs
使用kill杀死这个进程。
2、把生成的工程目录下面的可执行文件上传到开发板,修改好权限,然后执行就可以看到效果如下:

【总结】
开发的第一步,开发环境的创建是最磨人的一步,好多人因此就在这里被劝退。还好我有米尔的李工的大力支持,坚持下来了,成功的迈出了这一步。
再次感谢米尔,感谢电子发烧友论坛!