交叉編譯QT5.12.10源碼


1. 環境
操作系統:ubuntu18.04
交叉編譯工具版本:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu

2. 文件下載地址

鏈接:https://pan.baidu.com/s/17BF0mC6RDW21GeVaVWqw9g
提取碼:8090

3. 下載文件並將其放在虛擬機下

4. 安裝交叉編譯器
解壓文件

sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar -C /opt/

解壓完成后,配置環境變量

sudo gedit ~/.bashrc

在文件底部添加編譯器路徑

保存更改,使配置生效

source ~/.bashrc

驗證是否安裝成功

aarch64-linux-gnu-gcc -v

如下圖即為成功

5. 編譯QT源碼

解壓源碼

sudo tar xvf qt-everywhere-src-5.12.10.tar.xz
cd qt-everywhere-src-5.12.10

然后cd到源碼的這個目錄下

選擇名稱與你所用編譯工具相近的文件夾拷貝一份,重命名為所用編譯器名稱(重要,否則會出現ERROR: Invalid target platform 'arm-linux-gnueabi-g++'.)

sudo cp -a linux-aarch64-gnu-g++/ aarch64-linux-gnu-g++/

修改qmake.conf文件

修改前

修改后,圖中所選部分為交叉編譯工具安裝路徑

6. 配置編譯參數

1、由於編譯時會生成不少臨時文件,為避免污染源碼,建議新建一個文件,作為構建目錄
2、在該目錄下創建一個autoconfig.sh的腳本,添加如下內容

#!/bin/sh

../qt-everywhere-opensource-src-5.12.10/configure \
-xplatform aarch64-linux-gnu-g++ \
-verbose \
-opensource \
-release \
-shared \
-confirm-license \
-make libs \
-nomake tests \
-nomake examples \
-skip qtmacextras \
-skip qtandroidextras \
-no-opengl \
-prefix /home/hxz/qt_arm/qt_5.12.10_arm

../qt-everywhere-opensource-src-5.12.10/configure 這一行為,源碼中configure文件相對於構建目錄的位置

-xplatform aarch64-linux-gnu-g++ 指定編譯工具
-prefix /home/hxz/qt_arm/qt_5.12.10_arm 指定最后通過make install生成文件所放位置

3、執行腳本文件

sudo ./autoconfig.sh

4、執行make對源碼進行編譯,過程較長,大約需要3個小時

make -j8

5、執行make install

sudo make install

在編譯完成后執行 make install 會將qt庫安裝到 -prefix 指定的目錄下。
到此編譯結束


免責聲明!

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



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