1. 程式人生 > >適用於樹莓派Raspberry Pi的嵌入式QT平臺(二) -- 在Windows下用Qt Creator開發編譯Raspberry Qt 5應用程式

適用於樹莓派Raspberry Pi的嵌入式QT平臺(二) -- 在Windows下用Qt Creator開發編譯Raspberry Qt 5應用程式

接著上篇 "",我們已經成功在Windows上交叉編譯了Raspberry Pi的嵌入式Qt 5.5。那麼我們就可以開始開發基於Qt 5的應用程式。接下來,我們需要在Windows上搭建必要的Qt開發工具,首當其衝就是官方的Qt Creator,不僅提供了原生的C++編輯器,Qt介面設計器,而且還可以整合現有的 Qmake, gcc 甚至於Visual Studio C++編譯器來配置編譯Qt專案,自帶的QML直譯器可以快速的將QML內容翻譯成程式碼並整合子啊專案中;而且利用自帶的GDB可以進行程式碼執行時除錯。

下面,我們就利用Windows平臺上的Qt Creator與我們已經準備好的樹莓派中的 Qt 5.5 來整合開發基於Raspberry Pi的Qt Embedded應用程式。過程中,我們需要交叉編譯Raspberry Pi版的GDB用於遠端除錯。

1. 準備工作

安裝Qt for Windows,我們可以註冊一個Qt賬號,然後選擇安裝目錄並繼續。

2. 配置編譯環境

安裝完成後,開啟Qt Creator。在Creator中的專案,類似於 Xcode,我們需要配置好多種目標環境,不同的專案需要配置指定目標環境,就可以針對目標編譯生成。

開啟Tools -> Options...

選擇Devices,點選Add..增加一個Generic Linux Device,然後Start Wizard,填入裝置名字,網路地址以及使用者名稱密碼等。

完成後,會自動開始測試裝置連線。

然後我們可以開始配置Build & Run,選擇Qt Versions,新增一個Qt Version,選擇我們之前編譯好的Windows下的qmake:

然後新增一個Compiler,選擇Compilers選項卡,Add.. 一個MinGW型別的編譯器,選擇<sysgcc>\Raspberry\bin\arm-linux-gnueabihf-g++.exe

新增一個CMake,<sysgcc>\Raspberry\bin\make.exe

好了,最後我們就需要配置出一個Kit,包含一個目標環境所需要的qmake,裝置,CMake,以及配置檔案。點選Kits選項卡:

  • Device type:Generic Linux Device
  • Device:選擇你剛才新建的裝置
  • Sysroot:<sysgcc>\Raspberry\arm-linux-gnueabihf\sysroot
  • Compiler:選擇新建的編譯器
  • Qt version:選擇Raspberry Pi的Qt
  • Qt mkspec:<sysgcc>\Raspberry\arm-linux-gnueabihf\sysroot\usr\local\qt5\mkspecs\devices\linux-rasp-pi2-g++
  • CMake Tool:選擇新建的CMake

儲存新的Kit配置。

因為Qt Creator的Debugger GDB需要有Python支援,但是MinGW中提供的GDB均沒有支援Python,所以我們目前無法指定Debugger,需要之後交叉編譯一個Raspebrry Pi支援的GDB with Python才可以作為Debugger來除錯。

3. 新建Qt for Raspberry Pi專案並編譯測試

點選 File -> New File or Project,開啟新建專案嚮導,選擇Qt Widgets專案模板,填入專案名稱,務必在Kit Selection中選擇才新建的Kit環境。

完成程式碼後,我們可以通過左下側的編譯執行按鈕直接編譯輸出到Raspberry Pi

目前我們只能使用Run,還無法使用偵錯程式。我們可以開啟Qt Examples中的專案來進行測試。