国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QT5交叉編譯保姆級(jí)教程(arm64、mips64)

這篇具有很好參考價(jià)值的文章主要介紹了QT5交叉編譯保姆級(jí)教程(arm64、mips64)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

什么是交叉編譯?

簡(jiǎn)單說,就是在當(dāng)前系統(tǒng)平臺(tái)上,開發(fā)編譯運(yùn)行于其它平臺(tái)的程序。

比如本文硬件環(huán)境是x86平臺(tái),但是編譯出來的程序是在arm64架構(gòu)、mips64等架構(gòu)上運(yùn)行

本文使用的操作系統(tǒng):統(tǒng)信UOS家庭版22.0

一、安裝QT5:

sudo apt update
sudo apt install qtbase5-dev -y
sudo apt install qtcreator?-y

二、安裝編譯所需的組件

sudo apt install build-essential libgl1-mesa-dev gperf?libclang-dev -y

#安裝python環(huán)境(QT中的一些功能、組件需要用到)

sudo apt install python -y
sudo apt install python-dev -y
sudo apt install python-pip -y

#注意,一些較新的系統(tǒng),比如deepin v23中可能沒有這幾個(gè)包,需要修改為:
sudo apt install python2 -y
sudo apt install python2-dev -y
sudo apt install python3 -y
sudo apt install python3-dev -y
sudo apt install python3-pip -y

#安裝aarch64(arm64)編譯鏈工具。國(guó)產(chǎn)CPU,如飛騰、華為麒麟等是這個(gè)架構(gòu)

sudo apt install g++-aarch64-linux-gnu -y
sudo apt install gcc-aarch64-linux-gnu -y

#安裝mips64el編譯鏈工具。龍芯3A3000、3A4000等是此架構(gòu)。龍芯最新的LoongArch架構(gòu)似乎還沒有編譯鏈工具

sudo apt install gcc-mips64el-linux-gnuabi64 -y
sudo apt install g++-mips64el-linux-gnuabi64 -y

三、下載QT5源碼

QT官方下載地址:Index of /archive/qthttps://download.qt.io/archive/qt

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

根據(jù)自身需求選擇一個(gè)版本下載。源碼版本不需要和當(dāng)前安裝的QT一致,但最好不要低于當(dāng)前安裝的版本。QT6和QT5差別太大,不要選擇。

這里我隨手選了一個(gè)5.12.2的版本,可以直接在網(wǎng)頁上下載、用下載工具下載、還可以使用命令下載:

#下載源碼:
wget https://download.qt.io/archive/qt/5.12/5.12.2/single/qt-everywhere-src-5.12.2.tar.xz
#下載好后,解壓源碼:
tar -xvf qt-everywhere-src-5.12.2.tar.xz?

四、配置和編譯源碼

  1. 配置編譯QT5的aarch64架構(gòu)源碼

進(jìn)入剛才解壓好的源碼目錄中,打開終端輸入:

#配置編譯參數(shù)
./configure -release -opensource -confirm-license -xplatform linux-aarch64-gnu-g++ -prefix /usr/local/qt5.12.2arm?-nomake examples -no-opengl -silent -qpa linuxfb

如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

其中:/usr/local/qt5.12.2arm 是編譯后的安裝目錄,可自行修改

執(zhí)行成功的話,如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

編譯:

make -j 12

-j 12參數(shù)表示使用12個(gè)線程進(jìn)行編譯,根據(jù)電腦的CPU線程數(shù)進(jìn)行設(shè)置即可。

編譯過程較長(zhǎng),如果編譯過程中需要進(jìn)行其它操作,適當(dāng)減少線程數(shù),以免操作太卡。

編譯成功后,如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

將編譯好的文件安裝到指定位置(安裝位置在前面配置參數(shù)時(shí)已設(shè)置):

sudo make install

?? ?2.配置編譯QT5的mips64架構(gòu)源碼

先將前面解壓的qt-everywhere-src-5.12.2文件夾改名或者刪除,然后重啟一下電腦!

為什么要重啟?因?yàn)槲以诰幾g完aarch64之后,接著編譯mips64時(shí)編譯出錯(cuò),重啟之后才正常。

為了避免不必要的錯(cuò)誤,因此建議先重啟一下。

使用命令重新解壓源碼:

tar -xvf qt-everywhere-src-5.12.2.tar.xz

QT源碼里并沒有mips64的編譯項(xiàng),因此這里需要手動(dòng)創(chuàng)建。

進(jìn)入剛才解壓的源碼目錄,再進(jìn)入其下級(jí)目錄:qtbase/mkspecs 如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

找到linux-aarch64-gnu-g++文件夾,將其復(fù)制一份。如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

將其改名為:linux-mips64el-g++ ?然后雙擊進(jìn)入,里面有兩個(gè)文件:qmake.conf、qplatformdefs.h

打開qmake.conf文件,打開后如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

將aarch64全部替換為mips64el、gnu替換成gnuabi64,替換后如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

修改完成,保存關(guān)閉文件即可。

修改好的qmake.conf文件內(nèi)容:

#
# qmake configuration for building with mips64el-linux-gnuabi64-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = mips64el-linux-gnuabi64-gcc
QMAKE_CXX               = mips64el-linux-gnuabi64-g++
QMAKE_LINK              = mips64el-linux-gnuabi64-g++
QMAKE_LINK_SHLIB        = mips64el-linux-gnuabi64-g++

# modifications to linux.conf
QMAKE_AR                = mips64el-linux-gnuabi64-ar cqs
QMAKE_OBJCOPY           = mips64el-linux-gnuabi64-objcopy
QMAKE_NM                = mips64el-linux-gnuabi64-nm -P
QMAKE_STRIP             = mips64el-linux-gnuabi64-strip
load(qt_config)

回到源碼根目錄,在終端中執(zhí)行參數(shù)配置:

./configure -release -opensource -confirm-license -xplatform linux-mips64el-g++ -prefix /usr/local/qt5.12.2mips64 -nomake examples -no-opengl -silent -qpa linuxfb

如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯?執(zhí)行成功如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

編譯安裝和aarch64是一樣的:

make -j12  #編譯源碼。注意根據(jù)自已CPU的線程數(shù)修改12這個(gè)數(shù)
sudo make install  #安裝編譯好的源碼

五、配置QT

打開Qt Creator,選擇 工具->選項(xiàng)->Kits->Qt Versions 如圖:

?qt5交叉編譯安裝,QT / C++,QT,編程,編譯

點(diǎn)擊右側(cè)的“添加...”按鈕,在彈出的窗口中選擇前面編譯安裝好的QT目錄下的qmake,如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

qt5交叉編譯安裝,QT / C++,QT,編程,編譯添加好后,點(diǎn)擊右下角的“Apply”按鈕。然后點(diǎn)擊“構(gòu)建套件(Kit)”選項(xiàng)卡:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

點(diǎn)擊右側(cè)“添加”按鈕,配置如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

其中,名稱可自行修改;

編譯器可以選擇gcc,只是我比較喜歡Clang,所以這里選的Clang;

注意:Qt mkspec?一定要填寫正確

arm的Qt mkspec:linux-aarch64-gnu-g++

mips的Qt mkspec:linux-mips64el-g++

至于紅色的感嘆號(hào),這個(gè)不用在意,不影響編譯。

mips64的配置也差不多:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

六、驗(yàn)證測(cè)試

現(xiàn)在,創(chuàng)建一個(gè)工程來驗(yàn)證一下交叉編譯是否正常。

打開或者創(chuàng)建工程時(shí),可能無法選擇arm64、mips64,如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

不要緊,選擇其它的先完成創(chuàng)建!

點(diǎn)擊左側(cè)的“項(xiàng)目”,然后再點(diǎn)擊“Build & Run”項(xiàng)下的arm64、mips64即可添加:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

點(diǎn)擊左側(cè)工程,選擇構(gòu)建套件,即可切換:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

先測(cè)試aarch64架構(gòu):

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

需要注意的是,異架構(gòu)的程序是不能直接運(yùn)行的。所以我們不運(yùn)行它,直接點(diǎn)擊左下方的“錘子”或者按Ctrl+B來構(gòu)建。

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

編譯沒有出錯(cuò)。使用file命令,看一下編譯后的文件:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

如圖所示,編譯出來的程序確實(shí)是ARM aarch64 架構(gòu)!

再看一下MIPS64的編譯結(jié)果:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

OK,搞定收工..

關(guān)于龍芯最新的“龍”(LoongArch)架構(gòu),似乎還沒有編譯鏈工具,因此還沒法交叉編譯。。

#2023.11.24補(bǔ)充內(nèi)容

以前一直使用統(tǒng)信UOS,這兩天突然想試一下深度(deepin)系統(tǒng),雖然他們是一家..

于是裝上deepin最新的v23 版本,選擇了6.1內(nèi)核。。結(jié)果卻遇到了一些錯(cuò)誤!

錯(cuò)誤一、安裝組件時(shí),沒有python、python-dev、python-pip這幾個(gè)包,需更改為:python2、python2-dev、python3、python3-dev、python3-pip
錯(cuò)誤二、較低的Qt源碼版本(如文中使用的5.12.2),在執(zhí)行configure參數(shù)配置、make編譯時(shí)報(bào)錯(cuò):error: ‘numeric_limits’ is not a member of ‘std’,如下圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

而在編譯較新的版本,如5.15.11時(shí)則正常。

解決方法:使用文本編輯器打開報(bào)錯(cuò)的文件,在文件頭部合適的位置加上這句:#include <limits>

5.12.2版本有5個(gè)報(bào)錯(cuò)文件,可以使用下面的命令快速修改:

#快速修改報(bào)錯(cuò)文件
sed -i '43a#include <limits>' ./qtbase/src/corelib/global/qendian.h
sed -i '44a#include <limits>' ./qtbase/src/corelib/tools/qbytearraymatcher.h
sed -i '48a#include <limits>' ./qtbase/src/tools/moc/generator.cpp
sed -i '54a#include <limits>' ./qtdeclarative/src/qml/jsruntime/qv4propertykey_p.h
sed -i '52a#include <limits>' ./qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h
#注意:命令里的文件路徑使用的是相對(duì)路徑,執(zhí)行時(shí)一定要在源碼根目錄!

再次提醒,執(zhí)行命令時(shí)一定要在源碼根目錄!命令可以直接粘貼在終端中執(zhí)行,如圖:

qt5交叉編譯安裝,QT / C++,QT,編程,編譯

其它版本就不一一測(cè)試了..文章來源地址http://www.zghlxwxcb.cn/news/detail-754957.html

到了這里,關(guān)于QT5交叉編譯保姆級(jí)教程(arm64、mips64)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux Server 20.04 Qt5.14.2配置Jetson Orin Nano Developer Kit 交叉編譯環(huán)境

    Linux Server 20.04 Qt5.14.2配置Jetson Orin Nano Developer Kit 交叉編譯環(huán)境

    最近公司給了我一塊Jetson Orin Nano的板子,先刷了系統(tǒng)(1.Jetson Orin Nano Developer Kit系統(tǒng)刷機(jī))又讓我搭建交叉編譯環(huán)境,所以有了下面的文章 1.1設(shè)備環(huán)境 1.1.1 Server: 1.1.2 Jetson Orin Nano : 1.2 Qt相關(guān)下載地址 1.2.1 Qt源碼下載 Qt源碼下載(最好下載tar.xz,tar格式可能在windows下編輯過,后期

    2024年02月12日
    瀏覽(29)
  • YOLOV5 自動(dòng)刷圖腳本實(shí)戰(zhàn)(六)之OpenCV+CMake+MinGW-64 Qt5編譯

    目錄 ?一、OpenCV下載 1、官網(wǎng)地址: 2、安裝解壓OpenCV 二、OpenCV-Contrib下載 1、下載

    2024年02月03日
    瀏覽(25)
  • x86架構(gòu)ubuntu 搭建arm64交叉編譯環(huán)境及QT編譯arm64架構(gòu)工程

    x86架構(gòu)ubuntu 搭建arm64交叉編譯環(huán)境及QT編譯arm64架構(gòu)工程

    背景:由于最近項(xiàng)目需要做國(guó)產(chǎn)系統(tǒng)適配,很多軟件需要重新編譯以適配不同架構(gòu)CPU。 環(huán)境: 1、主機(jī)win10 64bit? ?vmware虛擬主機(jī)ubuntu1804 64bit 2、vmware虛擬主機(jī)已經(jīng)安裝了qt5.14.2及qt_create4.11.1 一、C/C++程序交叉編譯 1、交叉編譯環(huán)境搭建 ①選定編譯工具aarch64-linux-gnu ②安裝交叉

    2024年02月09日
    瀏覽(31)
  • arm魯班貓lubanCat rk3588 ubuntu20.04下源碼編譯安裝qt5.12.5

    arm魯班貓lubanCat rk3588 ubuntu20.04下源碼編譯安裝qt5.12.5

    ubuntu-18.04上通過源碼來編譯及安裝Qt-5.12庫 QT官方線上文檔for linux qt源碼下載地址 進(jìn)入下面目錄下載 【new_archive/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.tar.xz】 將壓縮包放到Ubuntu某目錄,并進(jìn)入解壓: 初步解壓出:qt-everywhere-src-5.12.5.tar 最終得到:qt-everywhere-src-5.12.5 或者【右鍵】

    2024年04月11日
    瀏覽(46)
  • Qt+MySql開發(fā)筆記:Qt5.9.3的msvc2017x64版本編譯MySql8.0.16版本驅(qū)動(dòng)并Demo連接數(shù)據(jù)庫測(cè)試

    Qt+MySql開發(fā)筆記:Qt5.9.3的msvc2017x64版本編譯MySql8.0.16版本驅(qū)動(dòng)并Demo連接數(shù)據(jù)庫測(cè)試

    若該文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130381428 紅胖子網(wǎng)絡(luò)科技博文大全:開發(fā)技術(shù)集合(包含Qt實(shí)用技術(shù)、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機(jī)、軟硬結(jié)合等等)持續(xù)更新中… ??mysql驅(qū)動(dòng)版本msvc2015x32版本調(diào)

    2023年04月26日
    瀏覽(50)
  • 【Qt5.12】Qt5.12安裝教程[通俗易懂]

    【Qt5.12】Qt5.12安裝教程[通俗易懂]

    Qt5.12下載網(wǎng)址: Index of /archive/qt/5.12/5.12.2 選擇Windows平臺(tái), Linux和Mac平臺(tái)類似 下載好之后的安裝包: Step1: 雙擊安裝包, 稍等片刻, 然后點(diǎn)擊next Step2: 如果沒有賬號(hào), 則選擇skip Step3: Qt設(shè)置歡迎界面, 選擇下一步 Step4: 選擇安裝路徑 Step5: 選擇組件, 然后選擇下一步 Step6: 同意許可協(xié)議

    2024年02月13日
    瀏覽(26)
  • Qt —— 編譯Qt5版本QFTP庫,并實(shí)現(xiàn)連接服務(wù)、獲取列表、上傳、下載、刪除文件等操作(附源碼、附基于Qt5編譯好的QFTP庫)

    Qt —— 編譯Qt5版本QFTP庫,并實(shí)現(xiàn)連接服務(wù)、獲取列表、上傳、下載、刪除文件等操作(附源碼、附基于Qt5編譯好的QFTP庫)

    示例效果1 ? 示例效果2 ? 介紹 ?????QFTP是Qt4的庫,Qt5改用了QNetworkAccessManager來代替。但是Qt5提供的QNetworkAccessManager僅支持FTP的上傳和下載,所以只能 將QFTP庫編譯為Qt5的庫來進(jìn)行調(diào)用。 ?????QFTP在Github的下載地址:https://github.com/qt/qtftp ? 客戶端源碼生成的rele

    2024年01月20日
    瀏覽(96)
  • Qt5開發(fā)環(huán)境-銀河麒麟V10ARM平臺(tái)

    Qt5開發(fā)環(huán)境-銀河麒麟V10ARM平臺(tái)

    前言 近期因參與開發(fā)的某個(gè)軟件需要適配銀河麒麟v10arm 平臺(tái),于是自己搭建起一套Qt 開發(fā)環(huán)境,在此記錄下具體過程,以供有需要的朋友參考。一開始手上并沒有Arm架構(gòu)的PC,先在Windows下用Vs2017和QtCreator 開發(fā),軟件開發(fā)快結(jié)束的時(shí)候Arm PC到了。Qt 沒有提供可直接安裝的arm架

    2024年02月12日
    瀏覽(24)
  • Qt5.15.2 Webassembly源碼裁剪編譯

    第一步:? ?? ?.configure -debug-and-release -opensource -prefix \\\"D:qt-everywhere-srccompFile\\\" -platform win32-g++ -nomake examples 第二步: ?? ?mingw32-make -j4 第三步: ?? ?mingw32-make install ? 編譯core與gui模塊: ?? ?C:Qt5.15.2yuanmaqt-everywhere-src-5.15.2qtbasesrcgui ?? ?C:Qt5.15.2yuanmaqt-everywhere-src

    2024年02月10日
    瀏覽(26)
  • Qt5.12.6配置Android Arm開發(fā)環(huán)境(Linux)

    Qt5.12.6配置Android Arm開發(fā)環(huán)境(Linux)

    1.安裝jdk 2.安裝android studio 3.安裝sdk 與ndk? 設(shè)置代理 ?安裝SDK工具 ?安裝SDK Platform 安裝QT? ?選擇JDK 1.8安裝路徑,SDK與NDK路徑 ?如出現(xiàn)Platform SDK或者Platform Build Tools未安裝,點(diǎn)擊Update Installed ?配置成功后可看到ARMv7與AMD-v8a kits Qt Version也可看到ARMv7與AMD-v8a? ?如果 有安裝了CMake,也

    2024年01月21日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包