近期專案採用嵌入式 Linux 系統開發,宿主機環境為 Ubuntu 12.04。本文記錄 Qt 4.8.4 交叉編譯與開發環境建置的完整流程,包含工具鏈配置、Qt 編譯選項、Qt Creator 設定與開發板部署實測。
使用友善之臂 (FriendlyARM) 提供的 arm-linux-gcc 4.5.1 工具鏈。關鍵點:Ubuntu 12.04 預設不允許 root 登入,環境變數需同時在兩處設定:
/etc/profile (系統層級)~/.bashrc (使用者層級)加入路徑:
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
確保 Qt Creator 與一般使用者執行的程式都能找到交叉編譯器。
採用友善之臂提供的建置腳本,將 Qt 版本號從 4.8.4 改為 4.7.0 相容現有腳本,避免自寫腳本出錯。執行編譯約需 2-3 小時。
經驗分享: 將主要精力放在應用程式開發,而非工具鏈建置。善用開源社群既有腳本,避免在工具本身浪費過多時間。
選單「工具」>「選項」>「建構與執行」,依序配置三個分頁:
新增 Qt 版本,指定 qmake 路徑為交叉編譯後的 /usr/local/Trolltech/QtEmbedded-4.8.4-arm/bin/qmake。
建立新套件,關聯上述 Qt 版本,指定裝置類型為通用 Linux 裝置,設定編譯器為 ARM GCC。
新增 GCC 編譯器,路徑指向 /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++,ABI 設為 arm-linux-generic-elf-32bit。
/usr/local/Trolltech 目錄下的嵌入式 Qt 執行環境minicom 傳輸至開發板相同路徑QWS_DISPLAY、TSLIB_TSDEVICE 等開發板上成功執行 Qt 範例程式,觸控、顯示正常。手機拍攝畫質有限,實際顯示效果良好。
本文出自「LinuxQt 濟南高新區」部落格,原文連結:https://qtlinux.blog.51cto.com/3052744/1171208