环境:Ubuntu 22.04
一、配置buildroot添加QT并编译
1. 下载提供的SDK,选择对应的板子并(我这里是泰山派,所以我选3,你们的根据板子厂商给的资料并选择buildroot)
c
./build.sh lunch && export RK_ROOTFS_SYSTEM=buildroot
1
2. 正常编译(不需要等它编译完成):(注意命令不要加sudo,可能会出现很多奇奇怪怪的权限问题)
c
./build.sh all
1
3. 编译过程中,留意一下是否产生了配置文件,看到产生了配置文件就可以CTRL+C取消编译了
4. 在SDK包的根目录下执行:
c
source buildroot/build/envsetup.sh
1
我的是RK3566,选65
运行结果:
如果选择65报错了,显示没有可选的配置文件,就说明还没产生配置文件就取消了,需要重新编译一下,等他产生配置文件。
5. 在SDK包的根目录下执行:
c
make menuconfig
1
c
在Target packages
->Graphic libraries and applications (graphic/text)
->QT5
在QT5中添加所需的模块,一般gui module 、GIF support、JPEG support、PNG supoort 必选
另外推荐将fontconfig support也选上
1
2
3
4
5
6
7
2
3
4
5
6
7
6. 选择完成后,执行
c
make savedefconfig
1
7. 最后执行
c
./build.sh all
1
就可以了 编译出现问题可以看我另外一篇文章:【RK3566泰山派】全编译出现权限问题解决方法
二、测试QT
1. 查找qmake
编译完成后,在 buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/bin 下可以找到qmake文件,如果需要编译QT程序,需要使用这里的qmake(注意,buildroot前面要加上你SDK包所在的位置,比如我的完整路径是: /home/cc/tspi/linux/buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/bin )。
2. 编译示例程序
buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/examples/widgets 目录下有很多实例程序,我这边选择了draganddrop
编译步骤:
- cd draganddrop
- buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/bin/qmake ./draganddrop.pro
- make
运行效果:
另外,使用QT出现模块没有找到的问题,可以看下我的另外一篇文章:
使用buildroot系统的qmake编译QT出现Unknown module(s) in QT: xxxx 的错误解决方法