Qt是基于C++ 的跨平臺開源應用程序開發框架,專注于圖形用戶界面和非GUI程序的構建。它提供豐富的GUI控件庫和高級功能模塊(如網絡通信、數據庫訪問、多媒體處理),并采用獨特的信號與槽機制實現高效組件通信。支持OpenGL、Vulkan等圖形接口,以及針對嵌入式系統的EGLFS無窗口模式和LinuxFB幀緩沖等,開發者可根據目標平臺選擇靈活的渲染策略。
Ubuntu SDK安裝與環境搭建
- SDK安裝
網盤下載路徑:Linux>4.軟件資料>QT-SDK/Ubuntu
注意:
1. QT-SDK 采用交叉編譯,所以要在 X86_64 電腦上使用 SDK,不要將 SDK 下載到板子上。
2. 編譯環境請使用 Ubuntu22.04(真機或 docker 容器),如果使用其他版本可能導致編譯出錯。
3. 不要在虛擬機共享文件夾以及非英文目錄存放、解壓QT-SDK。
下載SDK后,首先校驗MD5值,命令如下:
$ md5sum rk3506-ubuntu22_qt5-sdk.tar.gz
解壓QT-SDK,命令如下:
$ sudo tar -zxvf rk3506-ubuntu22_qt5-sdk.tar.gz -C ./
- 交叉編譯環境搭建
進入qt sdk目錄下,執行install_sdk.sh腳本,進行安裝和搭建交叉編譯環境,具體如下:
$ cd ./rk3506-ubuntu22_qt5-sdk $ sudo ./install_sdk.sh $ ./env.sh $ source ~/.bashrc
搭建環境后,查看qmake版本和交叉編譯工具鏈版本:
$ arm-none-linux-gnueabihf-gcc -v Using built-in specs. COLLECT_GCC=arm-none-linux-gnueabihf-gcc COLLECT_LTO_WRAPPER=/home/industio/evb3506/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/11.3.1/lto-wrapper Target: arm-none-linux-gnueabihf Configured with: /data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=arm-none-linux-gnueabihf --prefix= --with-sysroot=/arm-none-linux-gnueabihf/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --with-arch=armv7-a --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) $ qmake -v QMake version 3.1 Using Qt version 5.15.8 in /opt/rk3506/rk3506_ubuntu22_5.15/ext/lib
注意:根據安裝路徑的不同,導致qmake和arm-none-linux-gnueabihf-gcc的路徑也是不同的。
Qt交叉編譯
- Qt源碼demo
將Qt demo 解壓到當前路徑下,命令如下:
$ mkdir -p ./qt-demo && tar -xvf moveblocks.tar.gz -C ./qt-demo $ cd qt-demo $ ls main.cpp moveblocks.pro
- 交叉編譯
命令如下:
$ qmake ./ $ make $ make install $ ls main.cpp Makefile moveblocks moveblocks.pro
由此可見編譯后生成moveblocks可執行程序,可以通過ssh等方式將可執行程序傳到開發板中運行。
Qt驗證
將demo傳到開發板上,命令如下:
$ adb push Z:\moveblocks /tmp
運行demo,命令如下:
$ chmod a+x /tmp/moveblocks $ /tmp/moveblocks
結果展示:

-
Linux
+關注
關注
87文章
11475瀏覽量
213012 -
Qt
+關注
關注
1文章
313瀏覽量
38885 -
RK3506
+關注
關注
0文章
27瀏覽量
77
發布評論請先 登錄
瑞芯微RK3566開發板USB OTG模式介紹及命令切換,觸覺智能EVB3566主板鴻蒙硬件廠商

瑞芯微RK3588開發板Linux系統添加自啟動命令的方法,深圳觸覺智能Arm嵌入式鴻蒙硬件方案商

瑞芯微全新芯片平臺RK3506優勢詳解,高集成低功耗,為工業而生 深圳觸覺智能評測

評論