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

QT·移植Qt到ARM平臺及搭建Qt交叉編譯環(huán)境

這篇具有很好參考價(jià)值的文章主要介紹了QT·移植Qt到ARM平臺及搭建Qt交叉編譯環(huán)境。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、編譯tslib庫

二、移植 tslib 到文件系統(tǒng)

?三、編譯Qt源碼(用于移植到ARM)

四、移植Qt到文件系統(tǒng)

?五、搭建 Qt Creator 交叉編譯環(huán)境

?六、獲得Qt可執(zhí)行文件的另一種方法


要想在ARM平臺上運(yùn)行Qt程序,得滿足以下兩個(gè)點(diǎn):
1、ARM平臺上搭建Qt運(yùn)行環(huán)境
2、獲得通過交叉編譯后的Qt可執(zhí)行文件

一、編譯tslib庫

從網(wǎng)上下載 tslib 源碼壓縮包,發(fā)送到 Ubuntu 中并解壓,進(jìn)入tslib源碼目錄,內(nèi)容如下所示:

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?執(zhí)行命令安裝以下軟件:

  • sudo apt-get update
  • sudo apt-get install autoconf automake libtool

執(zhí)行 autogen.sh 生成 Makefile:

  • ./autogen.sh

配置使用的交叉編譯器及 tslib 編譯輸出路徑:

  • ./configure --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.
  • cache -prefix=/home/xzj/tslib-1.21/arm-tslib

直接執(zhí)行 make 編譯及 make install 安裝:

  • make
  • make install

安裝完成后在當(dāng)前目錄下生成一個(gè) arm-tslib 目錄。也是我們上面指令的編譯輸出目錄路徑??梢圆榭瓷赡夸浵掠幸韵聝?nèi)容:

二、移植 tslib 到文件系統(tǒng)

我把生成的 arm-tslib 放到了掛載的buildroot文件系統(tǒng)的跟目錄,并改名為了 tslib。(可放在其它目錄了,比如usr/lib,可不改名字,根據(jù)自己喜好,但接下來的環(huán)境變量要填對)

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu??配置 tslib 的環(huán)境變量
打開文件系統(tǒng)根目錄下的/etc/profile文件,填入以下內(nèi)容:

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

簡單說明: 
                TSLIB_TSDEVICE        //觸摸屏設(shè)備文件名,這個(gè)需要選對
                TSLIB_CALIBFILE        //校準(zhǔn)的數(shù)據(jù)文件,由ts_calibrate校準(zhǔn)程序生成。 
                SLIB_CONFFILE        //配置文件名。 
                TSLIB_PLUGINDIR         //插件目錄 
                TSLIB_CONSOLEDEVICE        //控制臺設(shè)備文件名 
                TSLIB_FBDEVICE        //設(shè)備名
 
以上環(huán)境變量在實(shí)際開發(fā)中的實(shí)際配置可以根據(jù)實(shí)際情況決定。而這些指定的設(shè)備節(jié)點(diǎn)一定要和你的開發(fā)板上的/dev目錄下的設(shè)備節(jié)點(diǎn)相對應(yīng)。

可以使用 ts_calibrate 進(jìn)行校驗(yàn)?? ts_test????? 進(jìn)行測試?

?三、編譯Qt源碼(用于移植到ARM)

從網(wǎng)上下載Qt源碼 https://download.qt.io/,我下載的是5.12.9的版本。

?qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?放到 ubuntu 并解壓得到 qt-everywhere-src-5.12.9源碼目錄

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?修改 qmake.conf,配置相關(guān)的編譯器,默認(rèn)使用arm-linux-gnueabi前綴。

  • gedit ./qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?配置編譯選項(xiàng),輸入./configure -help 指令,查看可配置選項(xiàng),由于配置選項(xiàng)太長,我另寫了一個(gè)腳本來執(zhí)行配置選項(xiàng),名為autoconfig.sh,配置主要指定編譯輸出路徑和功能選擇:

#!/bin/bash
./configure -prefix /home/xzj/tool/qt-everywhere-src-5.12.9/armqt-5.12.9 \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/xzj/tool/tslib-1.21/arm-tslib/include \
-L/home/xzj/tool/tslib-1.21/arm-tslib/lib \
-recheck-all

給執(zhí)行權(quán)限,執(zhí)行腳本進(jìn)行配置

  • chmod +x ./autoconfig.sh
  • sudo apt-get install g++ // 配置前請先安裝 g++
  • ./autoconfig.sh

配置完成夠開始進(jìn)行編譯和安裝,由于編譯用時(shí)比較久,最好使用多指令同時(shí)運(yùn)行:

  • make -j12
  • make install

執(zhí)行安裝指令后,會在當(dāng)前目錄生成一個(gè) armqt-5.12.9 文件,配置時(shí)命名的輸出文件:

四、移植Qt到文件系統(tǒng)

把剛才生成的 armqt-5.12.9 放到掛載的 buildroot 文件系統(tǒng)的/opt目錄中:qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?要想Qt 程序顯示中文,需把中文字庫放到新建一個(gè)/usr/share/fonts/目錄下。配置 Qt5 的環(huán)境變量,打開文件系統(tǒng)/etc/profile,添加如下內(nèi)容:

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu
注意文件名和路徑

以上就是搭建ARM平臺(開發(fā)板)的Qt運(yùn)行環(huán)境,接下來需要在ubuntu搭建Qt交叉編譯環(huán)境。

?五、搭建 Qt Creator 交叉編譯環(huán)境

從網(wǎng)上下載安裝包安裝 Qt Creator, qt-opensource-linux-x64-5.12.9.runqt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?下載完成后,給權(quán)限并執(zhí)行安裝:

  • chmod u+x qt-opensource-linux-x64-5.12.9.run
  • sudo ./qt-opensource-linux-x64-5.12.9.run

接下來就會彈出安裝窗口,就跟在win安裝應(yīng)用一樣了,省略。

安裝完成后, 配置Qt Creator Kits。打開Qt,點(diǎn)擊工具->選項(xiàng)

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu
配置 qmake,qmake在上面編譯Qt源碼后生成的armqt-5.12.9里面

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

配置 C++編譯器,這里我使用以前安裝的交叉編譯器,我的在ubuntu的/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?配置 Kits,選擇剛才的Qt versions和C++編譯器。

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?Qt環(huán)境搭建好了,可以新建一個(gè)項(xiàng)目試試,在新建項(xiàng)目時(shí)的Kits選項(xiàng)記得把剛才添加Kits也勾選上。qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

??構(gòu)建ARM平臺上的Qt執(zhí)行程序,就選上剛才新添加的Kit,然后點(diǎn)擊構(gòu)建,就會生成一個(gè) build-test-ARM_Qt_5_12_9-Debug 的文件,里面就存放著Qt可執(zhí)行程序,把這個(gè)可執(zhí)行程序發(fā)送到ARM平臺(開發(fā)板),然后直接運(yùn)行就可以了。qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu?如果想在ubuntu上運(yùn)行,就選擇默認(rèn)的kit,然后直接點(diǎn)擊綠色的三角形運(yùn)行就可以了,同時(shí)會生成一個(gè)build-test-Desktop_Qt_5_12_9_GCC_64bit-Debug 文件,里面的可執(zhí)行文件就是在ubuntu中運(yùn)行的。qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu

?六、獲得Qt可執(zhí)行文件的另一種方法

除了上面說的在Qt Creator 中構(gòu)建出可以在ARM平臺上運(yùn)行的Qt程序之外,還有另一種方法也可以得到可以在ARM平臺上運(yùn)行的Qt程序。

進(jìn)入項(xiàng)目的文件夾,直接運(yùn)行qmake,生成 Makefile,再執(zhí)行 make 開始編譯。

  • cd test
  • /home/xzj/tool/qt-everywhere-src-5.12.9/armqt-5.12.9/bin/qmake
  • make


qt交叉編譯arm,QT學(xué)習(xí),linux,arm開發(fā),ubuntu文章來源地址http://www.zghlxwxcb.cn/news/detail-781955.html

到了這里,關(guān)于QT·移植Qt到ARM平臺及搭建Qt交叉編譯環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 龍芯2K1000LA移植交叉編譯環(huán)境以及QT

    龍芯2K1000LA移植交叉編譯環(huán)境以及QT

    嵌入式大賽結(jié)束了,根據(jù)這次比賽中記的凌亂的筆記,整理了一份龍芯2K1000LA的環(huán)境搭建過程,可能筆記缺少了一部分步驟或者錯(cuò)誤,但是大致步驟可以當(dāng)作參考。 下載連接:龍芯 GNU 編譯工具鏈 | 龍芯開源社區(qū) (loongnix.cn)? 拷貝在Ubuntu下并進(jìn)行解壓。 ?然后將該目錄下的文件

    2024年02月10日
    瀏覽(85)
  • QT學(xué)習(xí)筆記-oracle oci數(shù)據(jù)庫驅(qū)動交叉編譯并移植到ARM開發(fā)板

    QT學(xué)習(xí)筆記-oracle oci數(shù)據(jù)庫驅(qū)動交叉編譯并移植到ARM開發(fā)板

    在上一文《QT學(xué)習(xí)筆記-QT安裝oracle oci驅(qū)動》中介紹了在Windows環(huán)境下使用QT訪問oracle數(shù)據(jù)庫時(shí)遇到驅(qū)動無法加載問題的解決辦法,大體思路是對QT源碼中數(shù)據(jù)庫驅(qū)動的源碼oci進(jìn)行編譯,要想通過編譯需要依賴對應(yīng)數(shù)據(jù)庫的頭文件和庫(可以通過下載oracle instant client),編譯通過

    2024年02月13日
    瀏覽(31)
  • 3:Ubuntu上配置QT交叉編譯環(huán)境并編譯QT程序到Jetson Orin Nano(ARM)

    3:Ubuntu上配置QT交叉編譯環(huán)境并編譯QT程序到Jetson Orin Nano(ARM)

    ? ?GCC配置同上 ? 最后配置Kits 上面設(shè)置完成之后 ,設(shè)置Kits 中的Device(這是為了能夠直接把項(xiàng)目部署到arm設(shè)備上) ? ? ?點(diǎn)擊NEXT之后會出現(xiàn)連接被拒絕,不用擔(dān)心 ,下面會對其設(shè)置密碼。 驗(yàn)證arm設(shè)置的密碼。 ? ? ? ? ? ? ? ? 代碼: 此代碼是抄的別人的,具體是哪位博主的

    2024年02月11日
    瀏覽(25)
  • Ubuntu與致遠(yuǎn)ARM交叉編譯Qt5.12環(huán)境

    Ubuntu與致遠(yuǎn)ARM交叉編譯Qt5.12環(huán)境

    ????????ARM板現(xiàn)有環(huán)境配置(主要是對/etc/profile/編輯)較簡單,參考上一篇博客,板子上已經(jīng)部署了Qt5.15。 Ubuntu與國產(chǎn)致遠(yuǎn)ARM_3568交叉編譯Qt 此文檔只是為了記錄錯(cuò)誤的過程,下一往篇博客會直接介紹正確的配置。 https://blog.csdn.net/qq_35529025/article/details/129524412 ???????

    2024年02月22日
    瀏覽(19)
  • ubuntu x86搭建 麒麟arm QT6交叉編譯

    近期項(xiàng)目需求開發(fā)平臺是unbuntu x86,目標(biāo)機(jī)器是UOS arm架構(gòu),由于需要在不同平臺上使用程序,需要建立基于QT6.32的交叉編譯平臺 交叉編譯器 https://blog.csdn.net/zhang421412170/article/details/110952705 下載 gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz(因?yàn)槲疫@里用的是linux平臺進(jìn)行編譯,需要

    2024年02月13日
    瀏覽(26)
  • Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉編譯環(huán)境及QT編譯arm64架構(gòu)工程

    Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉編譯環(huán)境及QT編譯arm64架構(gòu)工程

    苦辣酸甜時(shí)光八載,春夏秋冬志此一生 Qt簡介: Qt(官方發(fā)音 [kju:t],音同 cute)是一個(gè)跨平臺的 C++ 開發(fā)庫,主要用來開發(fā)圖形用戶界面(Graphical User Interface,GUI)程序,當(dāng)然也可以開發(fā)不帶界面的命令行(Command User Interface,CUI)程序。 Qt 支持的操作系統(tǒng)有很多,例如通用

    2024年01月23日
    瀏覽(49)
  • Linux-Arm環(huán)境下配置編譯qt-everywhere及交叉編譯環(huán)境

    Linux-Arm環(huán)境下配置編譯qt-everywhere及交叉編譯環(huán)境

    最近在搞交叉編譯的事,手上拿了個(gè)同事的香橙派玩交叉編譯,現(xiàn)在來到了第一步,就是先在arm上配置qt的開發(fā)環(huán)境。當(dāng)然了Qt沒有直接提供qt on arm,而是需要自行在arm環(huán)境下編譯一個(gè)qt環(huán)境出來,所以這里需要使用到qt提供的qt everywhere套件在板載系統(tǒng)上編譯 移植Qt到ARM平臺及

    2024年04月11日
    瀏覽(18)
  • 嵌入式Linux Qt交叉編譯環(huán)境搭建

    嵌入式Linux Qt交叉編譯環(huán)境搭建

    TinkerBoard2主板,BuildRoot根文件系統(tǒng),package自帶的Qt版本為5.14.2,所以安裝的版本也是5.14.2 安裝的組件看個(gè)人需求,我都要了 默認(rèn)安裝路徑/opt/Qt5.14.2/ 源碼路徑/opt/Qt5.14.2/5.14.2/Src/ 安裝后選定的打包工具路徑/opt/Qt5.14.2/5.14.2/(我的默認(rèn)有g(shù)cc_64和android) 這種方法容易導(dǎo)致version `G

    2024年01月25日
    瀏覽(25)
  • QT配置arm-linux-g++交叉編譯器

    QT配置arm-linux-g++交叉編譯器

    ubuntu16.4版本虛擬機(jī) qt5.12.9版本 ,qt-everywhere-src-5.12.9(版本要一致,沒試過版本不同是否可行) (qt5.15.2 qt5.14.2都裝了下,按照以下流程都是完全沒錯(cuò)誤) arm-linux-g++4.8.3版本 由于最近接手公司離職員工的代碼,通常我個(gè)人都是直接寫Makefile來完成,對方用的Qt配合交叉編譯器

    2024年01月19日
    瀏覽(25)
  • RK3568開發(fā)筆記(七):在宿主機(jī)ubuntu上搭建Qt交叉編譯開發(fā)環(huán)境,編譯一個(gè)Demo,目標(biāo)板運(yùn)行Demo測試

    RK3568開發(fā)筆記(七):在宿主機(jī)ubuntu上搭建Qt交叉編譯開發(fā)環(huán)境,編譯一個(gè)Demo,目標(biāo)板運(yùn)行Demo測試

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

    2024年02月07日
    瀏覽(101)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包