CentOS7 環境下交叉編譯(銀河麒麟)

2021-10-12 06:20:56 字數 3080 閱讀 3949

需求說明:在centos環境中搭建 銀河麒麟交叉編譯環境+qt5.9.5靜態編譯庫檔案

1.準備交叉編譯器,我的版本是gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.gz;

將原始碼拷貝到/opt目錄下解壓;

在/etc/profile中加入路徑:export path=$path:/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin

然後使用reboot重啟;

使用aarch64-linux-gnu-g++ -v 檢視交叉編譯器版本;

版本與自己設定的一致即可;

3.執行./configure 命令;命令如下:

cc=aarch64-linux-gnu-gcc cxx=aarch64-linux-gnu-g++ ./configure -static -release  -nomake examples -qt-sqlite -qt-xcb -system-freetype -fontconfig -qt-zlib -qt-libpng -qt-libjpeg  -no-qml-debug -no-opengl -no-angle -nomake tests -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc  -xplatform linux-aarch64-gnu-g++   -prefix /opt/qt/qt5.9.5-static

複製命令時 請不要將換行符複製進去;

執行時,可能會遇到的問題:

error: feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed.

error: feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed.

error: feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed.

編譯xcb時 需要提前編譯:xcb-proto ,libxau,xproto三個依賴庫;

編譯xcb-photo 命令:cc=aarch64-linux-gnu-gcc cxx=aarch64-linux-gnu-g++ ./configure   --prefix=/opt/libxcb/xcb-proto-static  --host=aarch64-linux-gnu 

然後將生產的檔案拷入/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu下的對應目錄中,通過命令:export pkg_config_path=/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/lib/pkgconfig設定為臨時環境變數

編譯xproto命令:cc=aarch64-linux-gnu-gcc cxx=aarch64-linux-gnu-g++ ./configure  --enable-static --prefix=/opt/libxcb/xproto-static --host=aarch64-linux-gnu

然後將生產的檔案拷入/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu下的對應目錄中,

編譯libxau命令:cc=aarch64-linux-gnu-gcc cxx=aarch64-linux-gnu-g++ ./configure  --enable-static --prefix=/opt/libxcb/libxau-static --host=aarch64-linux-gnu

然後將生產的檔案拷入/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu下的對應目錄中,

如果出現如下介面:

則表示configure操作成功。

執行gmake -j4 ;這個操作耗時比較久,(根據電腦效能40分鐘至2個多小時之間);

執行gmake install ;這個操作10分鐘應該可以完成;此時在/opt/qt/qt5.9.5-static 目錄下 

出現這些檔案應該就編譯成功;

進一步檢視,cd bin 目錄中,檢視是否有qmake檔案;自此qt5.9.5 靜態庫編譯成功;

4.測試交叉編譯qt靜態庫,

gcc路徑:

g++路徑:

偵錯程式路徑:

qmake路徑:

構建環境總覽:

使用qtcreator建立乙個最簡單的專案,執行生產可執行檔案;

使用file 命令檢視可執行檔案的格式;

可以看出生成的可執行檔案時arm版本的;將這個檔案拷貝到對應環境中便可執行;注意拷貝乙個新環境的時,需要對可執行檔案,給與可執行許可權。

centos7環境下安裝MySQL

安裝mysql官方的yum repository wget i cyum y install mysql57 community release el7 10.noarch.rpm安裝mysql服務 yum y install mysql community server啟動mysql服務 syst...

Centos7環境下安裝gitlab

1.安裝依賴 yum install curl openssh server openssh clients postfix cronie y 2.開啟postfix systemctl start postfix 3.設定postfix開機自啟動 systemctl enable postfix....

Centos7環境下安裝curl

curl是利用url語法在命令列方式下工作的開源檔案傳輸工具。它被廣泛應用在unix 多種linux發行版中,並且有dos和win32 win64下的移植版本。官網文件 wget2.解壓到當前目錄 tar zxf curl 7.54.0.tar.gz3.進入解壓後的目錄內 cd curl 7.54....