linux下qt開發環境搭建


1:准備環節

下載交叉編譯工具

http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-linux-gnu/

選擇gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

為什么選擇這個?

 

 

 

下載QT源文件qt-everywhere-src-5.13.0-rc.tar.xz

http://download.qt.io/archive/qt/5.13/5.13.0/single/

下載QT的IDE qt-opensource-linux-x64-5.13.0.run

http://download.qt.io/archive/qt/5.13/5.13.0/

2:安裝交叉編譯工具

將下載的交叉編譯工具gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz復制到你想安裝的目錄下,我們這里選擇為/opt文件夾下,復制完成后在/opt目錄下輸入命令

 sudo tar -xvf gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

解壓完成后將獲得的文件夾重命名為gcc-aarch64-linux-gnu,然后將/opt/gcc-aarch64-linux-gnu/bin目錄添加到環境變量中,輸入命令

sudo gedit /etc/profile

在末尾添加如下內容

export PATH="/opt/gcc-aarch64-linux-gnu/bin:$PATH"

接着輸入命令

source  /etc/profile

讓環境變量生效,也可以重啟Ubuntu系統。

或者直接在后台輸入export PATH=$PATH:/opt/gcc-aarch64-linux-gnu/bin:$PATH"

接着通過下面的命令來驗證是否安裝成功

aarch64-linux-gnu-gcc -v

若出現如下圖所示情況,則證明安裝成功了。

 

 

 

3.交叉編譯qt庫

將下載的qt-everywhere-src-5.13.0-rc.tar.xz壓縮包復制到/opt目錄下,完成后在/opt目錄下輸入命令

tar -xvf qt-everywhere-opensource-src-5.13.0.tar.xz

解壓完成后進入獲得的文件夾下,ls一下,可以看到如下文件

 

 

 

接着輸入命令

sudo gedit /opt/qt-everywhere-opensource-src-5.13.0/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf

在其中添加如下內容,如圖所示

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

 

 

 

保存后接着輸入命令

sudo gedit auto.sh

新建的auto.sh為交叉編譯自動配置腳本,在其中添加以下內容

#!/bin/sh

./configure \

-prefix /opt/qt5.13.0-arm \

-confirm-license \

-opensource \

-release \

-make libs \

-xplatform linux-aarch64-gnu-g++ \

-pch \

-qt-libjpeg \

-qt-libpng \

-qt-zlib \

-no-opengl \

-no-sse2 \

-no-openssl \

-no-cups \

-no-glib \

-no-dbus \

-no-xcb \

-no-separate-debug-info \

其中/opt/qt5.13.0-arm 為編譯后的安裝目錄,-xplatform linux-aarch64-gnu-g++為交叉編譯相關選擇,還記得之前我們修改過/opt/qt-everywhere-opensource-src-5.13.0/qtbase/mkspecs/linux-aarch64-gnu-g++文件夾下的qmake.conf文件吧,前后是有對應的,-no-xcb要選擇,要不然編譯會出差,嘗試了各種方法也沒解決這個問題。接着修改該文件權限並執行

sudo chmod 777 auto.sh

sudo ./auto.sh

首次時間會比較長,結束后會顯示如下結果並生成Makefile文件

 

 

 

接着輸入

sudo make

進行編譯,大概需要一個小時,編譯完成后輸入命令

sudo make install

大約一分鍾后,可以看見/opt目錄下出現了我們指定的安裝目錄/opt/qt5.9.1-arm,表示安裝成功。

4.安裝qtcreator

將下載的qt-opensource-linux-x64-5.13.0.run復制到/opt目錄下,輸入命令

Sudo ./qt-opensource-linux-x64-5.13.0.run

安裝時按照提示一步步點擊下一步,這里只選擇Tools,如圖

 

 

 

安裝完成后我們可以在下面的目錄下看到qtcreator,運行即可

cd /opt/Qt5.13.0/Tools/QtCreator/bin

sudo ./qtercator

運行程序結果如下

 

 

 

點擊工具下的選項,點擊構建與運行,在編譯器欄中的manual添加我們前面安裝的交叉編譯工具,包括aarch64-linux-gnu-gcc與aarch64-linux-gnu-g++,如下圖所示

 

 

 

接着點擊Qt versions欄添加qmake,目錄為交叉編譯后安裝的qt目錄,如下圖所示

 

 

 

最后在構建套件欄目添加套件,如下圖所示,包括名稱、設備類型、編譯工具、Qt版本等信息,如下圖所示

 

 

 

5.將交叉編譯的QT庫復制到板子上

在/opt目錄下輸入命令

tar -zcvf qt5.13.0.tar.gz qt5.13.0-arm

其中qt5.13.0.tar.gz為生成的壓縮文件名稱,qt5.13.0-arm為交叉編譯后安裝的目錄

將qt5.13.0.tar.gz拷貝到板子上的/opt文件夾下並解壓

cd /opt

tar -zxvf qt5.9.1.tar.gz

接着將qt程序運行所依賴的相關文件、配置等添加到環境變量中,操作如下

sudo vi /etc/profile

在其中添加如下內容

export QTEDIR=/opt/qt5.13.0-arm/

export LD_LIBRARY_PATH=/opt/qt5.13.0-arm/lib:$LD_LIBRARY_PATH

export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fd0

export QT_QPA_FONTDIR=/usr/share/fonts/ttf

如圖所示

 

 

 

然后重啟板子或者執行source /etc/profile讓環境變量生效

6.執行程序

將編譯完成的應用程序拷貝到文件系統中

執行程序的時候指定一下平台
./<app-name>   -platform  linuxfb


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM