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

Ubuntu64位系統(tǒng)(20.04、22.04)安裝32位armQT4開發(fā)環(huán)境補(bǔ)充說明

這篇具有很好參考價(jià)值的文章主要介紹了Ubuntu64位系統(tǒng)(20.04、22.04)安裝32位armQT4開發(fā)環(huán)境補(bǔ)充說明。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

在一些特定場景下我們可能需要在更高版本ubuntu上(比如Ubuntu20.04、Ubuntu22.04)安裝 Qt 4,維護(hù)和開發(fā)32位armQT4應(yīng)用程序。
對于高版本ubuntu, 官方對Qt 4 已經(jīng)不再提供維護(hù),因此需要解決許多兼容性問題。我們前面博文《Ubuntu64位系統(tǒng)(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)開發(fā)環(huán)境搭建》詳細(xì)介紹了
Ubuntu18.04版本中的配置過程。
在 Ubuntu 20.04和Ubuntu 22.04中,又出現(xiàn)了新的兼容性問題,如果希望在ubuntu中編譯和安裝qt4源碼,則需要降低GCC的版本。我們是通過使用 update-alternatives 命令來切換版本,即在不同版本的 GCC 和 G++ 之間進(jìn)行切換,完成對QT4編譯和安裝。本文以ubuntu22.04為例介紹了降低GCC版本的具體操作步驟。之后的搭建開發(fā)環(huán)境過程與ubuntu18.04中相同,不再贅述。
實(shí)際的開發(fā)環(huán)境搭建過程,其實(shí)不用那么麻煩,我們可以將已經(jīng)編譯安裝完成的QT庫(包括tslib)按照原來的安裝路徑,導(dǎo)入到新的ubuntu系統(tǒng)中,配置相同的交叉工具鏈,再配置當(dāng)前的qtcreator即可。

盡管我們可以使用上面的方法在高版本Ubuntu安裝32位armQT4開發(fā)環(huán)境,但還是建議考慮使用較新的 Qt 版本(如 Qt 5 或 Qt 6),因?yàn)樗鼈兙哂懈玫男阅?、更多的特性和更好的兼容性?/p>


1、降低GCC的版本操作步驟

1.1 設(shè)置新的源

修改/etc/apt/sources.list文件

sudo  vim  /etc/apt/sources.list

在末尾增加如下配置:

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

然后執(zhí)行:

sudo apt-get update

結(jié)果如下:

命中:1 http://cn.archive.ubuntu.com/ubuntu jammy InRelease
命中:2 http://cn.archive.ubuntu.com/ubuntu jammy-updates InRelease            
獲取:3 http://dk.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
命中:4 http://security.ubuntu.com/ubuntu jammy-security InRelease           
命中:5 http://cn.archive.ubuntu.com/ubuntu jammy-backports InRelease        
錯(cuò)誤:3 http://dk.archive.ubuntu.com/ubuntu xenial InRelease
  由于沒有公鑰,無法驗(yàn)證下列簽名: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
正在讀取軟件包列表... 完成
W: GPG 錯(cuò)誤:http://dk.archive.ubuntu.com/ubuntu xenial InRelease: 由于沒有公鑰,無法驗(yàn)證下列簽名: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
E: 倉庫 “http://dk.archive.ubuntu.com/ubuntu xenial InRelease” 沒有數(shù)字簽名。
N: 無法安全地用該源進(jìn)行更新,所以默認(rèn)禁用該源。
N: 參見 apt-secure(8) 手冊以了解倉庫創(chuàng)建和用戶配置方面的細(xì)節(jié)。

出現(xiàn)這個(gè)錯(cuò)誤的原因是缺少 Ubuntu 存儲庫 GPG 密鑰或未添加正確的 GPG 密鑰而導(dǎo)致的。要解決這個(gè)問題,可以按照下面的步驟來導(dǎo)入正確的 GPG 密鑰:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32

結(jié)果如下:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.yzoYZONxEt/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
gpg: 密鑰 3B4FE6ACC0B21F32:公鑰 “Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>” 已導(dǎo)入
gpg: 密鑰 40976EAF437D05B5:公鑰 “Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>” 已導(dǎo)入
gpg: 處理的總數(shù):2
gpg:               已導(dǎo)入:2

再次運(yùn)行以下命令來更新軟件包列表:

sudo apt-get update

現(xiàn)在應(yīng)該不會再出現(xiàn)該錯(cuò)誤了。如果仍然遇到問題,請確保您的網(wǎng)絡(luò)連接正常并嘗試使用不同的存儲庫來更新軟件包。

1.2 安裝gcc-4.8 、g+±4.8

執(zhí)行:

sudo apt-get install gcc-4.8 g++-4.8

檢查 GCC 和 g++ 版本:

gcc-4.8 --version
g++-4.8 --version

現(xiàn)在,您應(yīng)該已成功安裝 GCC 4.8 和 g++ 4.8。

查看gcc安裝情況:

ls /usr/bin/gcc* -l
lrwxrwxrwx 1 root root      6  85  2021 /usr/bin/gcc -> gcc-11
lrwxrwxrwx 1 root root     23  51  2022 /usr/bin/gcc-11 -> x86_64-linux-gnu-gcc-11
-rwxr-xr-x 1 root root 776344  126  2016 /usr/bin/gcc-4.8
lrwxrwxrwx 1 root root      9  85  2021 /usr/bin/gcc-ar -> gcc-ar-11
lrwxrwxrwx 1 root root     26  51  2022 /usr/bin/gcc-ar-11 -> x86_64-linux-gnu-gcc-ar-11
-rwxr-xr-x 1 root root  27032  126  2016 /usr/bin/gcc-ar-4.8
lrwxrwxrwx 1 root root      9  85  2021 /usr/bin/gcc-nm -> gcc-nm-11
lrwxrwxrwx 1 root root     26  51  2022 /usr/bin/gcc-nm-11 -> x86_64-linux-gnu-gcc-nm-11
-rwxr-xr-x 1 root root  27032  126  2016 /usr/bin/gcc-nm-4.8
lrwxrwxrwx 1 root root     13  85  2021 /usr/bin/gcc-ranlib -> gcc-ranlib-11
lrwxrwxrwx 1 root root     30  51  2022 /usr/bin/gcc-ranlib-11 -> x86_64-linux-gnu-gcc-ranlib-11
-rwxr-xr-x 1 root root  27032  126  2016 /usr/bin/gcc-ranlib-4.8

1.3 使用alternatives工具管理gcc優(yōu)先級

使用alternatives工具管理gcc優(yōu)先級,先將兩個(gè)版本的gcc和g++加入到alternativers。

在 Linux 系統(tǒng)中,可能會安裝多個(gè)版本的 GCC(GNU Compiler Collection),每個(gè)版本可能會提供不同的功能或優(yōu)化。alternatives 工具提供了一種簡單的方式來管理這些不同版本的 GCC,并設(shè)置默認(rèn)的版本以供使用。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 90

1.4 安裝交叉工具鏈、編譯安裝qt4.8.6和tslib1.4、安裝配置qtcreator

按照前面的博文:《Ubuntu64位系統(tǒng)(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)開發(fā)環(huán)境搭建》1~6節(jié)的方法,完成開發(fā)環(huán)境搭建。

2、導(dǎo)入已有的QT For Arm庫和tslib

2.1 導(dǎo)出qt4-arm和tslib-arm

我們將按照《Ubuntu64位系統(tǒng)(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)開發(fā)環(huán)境搭建》第5節(jié)的方法完成的QT4庫qt4-arm文件夾和第4節(jié)完成的tslib-arm文件夾壓縮。

 tar -czvf qt4-arm.tar.gz qt4-arm
 tar -czvf tslib-arm.tar.gz tslib-arm

得到兩個(gè)壓縮文件:qt4-arm.tar.gztslib-arm.tar.gz

按照我個(gè)人的習(xí)慣,在前面的編譯安裝中,將qt4-arm和tslib-arm兩個(gè)文件夾放在了~/下,如果登錄ubuntu系統(tǒng)的用戶不同,絕對路徑是不同的。如果你希望將兩個(gè)文件夾導(dǎo)出,給其他ubuntu系統(tǒng)使用,則這是一個(gè)不好的習(xí)慣。建議安裝目錄放在/opt,會給未來的遷移減少很多麻煩。
本人這里不出問題是因?yàn)槲业膗buntu用戶名是相同的,也就是說,登錄后兩個(gè)系統(tǒng)的~/的絕對路徑是相同的。

2.2 將qt4-arm和tslib-arm導(dǎo)入到新的ubuntu系統(tǒng)中

拷貝qt4-arm.tar.gztslib-arm.tar.gz到新的ubuntu系統(tǒng)中,解壓。

tar -zxvf qt4-arm.tar.gz
tar -zxvf tslib-arm.tar.gz

2.3 安裝交叉工具鏈、必要依賴庫、針對x86-32架構(gòu)的zlib庫、配置qtcreator

參見《Ubuntu64位系統(tǒng)(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)開發(fā)環(huán)境搭建》第1節(jié)、第2節(jié)、第3節(jié)、第6節(jié)。

3、解決開發(fā)項(xiàng)目中的問題

開發(fā)環(huán)境搭建完成后,我們新建一個(gè)項(xiàng)目,編譯時(shí)會出現(xiàn)下面的問題:
Ubuntu64位系統(tǒng)(20.04、22.04)安裝32位armQT4開發(fā)環(huán)境補(bǔ)充說明,qt嵌入式開發(fā),qt,ubuntu,arm開發(fā)Qt Creator 是一個(gè)集成了編譯器的 IDE 工具,最新版本的 Qt Creator 默認(rèn)使用了 C++11 標(biāo)準(zhǔn)。
上面這個(gè)錯(cuò)誤消息表示在自動生成的代碼中使用了 C++11 新增的關(guān)鍵字 nullptr,但是編譯器并不認(rèn)識它,導(dǎo)致編譯失敗。

解決的方法是為項(xiàng)目追加一個(gè)編譯選項(xiàng):

  • GCC 編譯器版本 < 4.7。
QMAKE_CXXFLAGS += -std=c++0x
  • GCC 編譯器版本 >= 4.7。
QMAKE_CXXFLAGS += -std=c++11

這個(gè)選項(xiàng)的意義是告訴編譯器將代碼編譯成符合 C++11 標(biāo)準(zhǔn)的代碼。這意味著在編譯時(shí)編譯器會遵循 C++11 標(biāo)準(zhǔn)規(guī)范對代碼進(jìn)行編譯,而且在代碼中可以使用 C++11 新引入的特性。如果不在編譯選項(xiàng)中加上 -std=c++0x或-std=c++11,代碼中使用一些新特性,比如 nullptr、auto、range-based for loops 等,就會出現(xiàn)編譯錯(cuò)誤。

具體操作如下:打開項(xiàng)目中的.pro文件,如圖中修改:
Ubuntu64位系統(tǒng)(20.04、22.04)安裝32位armQT4開發(fā)環(huán)境補(bǔ)充說明,qt嵌入式開發(fā),qt,ubuntu,arm開發(fā)
這個(gè)編譯選項(xiàng)并不是放棄使用 C++11 標(biāo)準(zhǔn),相反它是支持使用 C++11 標(biāo)準(zhǔn)。注意,如果你希望使用更高版本的標(biāo)準(zhǔn),比如 C++14 或 C++17,只需要將 -std=c++11 替換成 -std=c++14 或 -std=c++17 即可。

總之,通過將 -std=c++0x-std=c++11 選項(xiàng)添加到 QMAKE_CXXFLAGS 中,項(xiàng)目就可以在可支持 C++11 的編譯器下編譯 C++11 標(biāo)準(zhǔn)的代碼了。文章來源地址http://www.zghlxwxcb.cn/news/detail-625955.html

到了這里,關(guān)于Ubuntu64位系統(tǒng)(20.04、22.04)安裝32位armQT4開發(fā)環(huán)境補(bǔ)充說明的文章就介紹完了。如果您還想了解更多內(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)文章

  • Ubuntu官方安裝微信——Ubuntu16.04/18.04/20.04/22.04

    Ubuntu官方安裝微信——Ubuntu16.04/18.04/20.04/22.04

    通過以下教程可以快速的安裝官方版微信,本教程適用于Ubuntu16.04/18.04/20.04/22.04 進(jìn)入微信下載官網(wǎng)下載微信Linux客戶端 點(diǎn)擊64位下載即可,如果不能下載,使用終端如下命令 雙擊deb文件,點(diǎn)擊install進(jìn)行安裝 安裝成功,可以在菜單中點(diǎn)擊運(yùn)行

    2024年02月08日
    瀏覽(54)
  • Windows11+Ubuntu20.04系統(tǒng)重裝(升級為Ubuntu22.04)

    Windows11+Ubuntu20.04系統(tǒng)重裝(升級為Ubuntu22.04)

    事情起因是標(biāo)題所對應(yīng)的雙系統(tǒng)中,Ubuntu老自動斷電關(guān)機(jī),一開始是跑大型程序才會關(guān)機(jī),這兩天愈演愈烈變成運(yùn)行一個(gè)遠(yuǎn)程控制或者VSCode就會關(guān)機(jī)。一怒之下找了Dell在線客服,在對方引導(dǎo)下檢測了硬件系統(tǒng),發(fā)現(xiàn)沒有明顯故障,對方建議重裝出問題的軟件后看現(xiàn)象是否消失

    2024年04月26日
    瀏覽(25)
  • 下載安裝Ubuntu 20.04詳細(xì)教程(內(nèi)附安裝22.04版本教程鏈接)

    下載安裝Ubuntu 20.04詳細(xì)教程(內(nèi)附安裝22.04版本教程鏈接)

    ?? 個(gè)人主頁:python老鳥的博客 ???免費(fèi)專欄:Python基礎(chǔ)教程 ????分享網(wǎng)站: 《Python自學(xué)網(wǎng)》????基礎(chǔ)入門到逐步深入? |??適合新手入門到精通? | python全棧體系課程 ? ?? 如果覺得博主文章對你有所幫助的話,還望大家多多支持呀!關(guān)注? |? 點(diǎn)贊? |? 收藏? |? 評論

    2024年01月21日
    瀏覽(57)
  • Ubuntu安裝向日葵遠(yuǎn)程控制——Ubuntu18.04/20.04/22.04

    Ubuntu安裝向日葵遠(yuǎn)程控制——Ubuntu18.04/20.04/22.04

    通過以下教程可以快速的安裝向日葵遠(yuǎn)程控制,本教程適用于Ubuntu18.04/20.04/22.04 進(jìn)入向日葵遠(yuǎn)程控制下載官網(wǎng)下載向日葵遠(yuǎn)程控制Linux客戶端 選擇圖形版本安裝包下載,可以看到適用于17.04及以上版本 雙擊deb文件,點(diǎn)擊install進(jìn)行安裝 安裝成功,在菜單里可以打開

    2024年02月12日
    瀏覽(24)
  • 【安裝教程】ubuntu20.04/22.04從零開始搭建autoware.universe

    目錄 1. 基本配置情況 2. ROS2 Humble和git安裝? 2.1 ros2 humble安裝(對應(yīng)ubuntu22.04,僅源碼安裝需要) 2.2 git安裝? 3. 克隆autoware代碼 ?4.自動安裝依賴項(xiàng)(推薦) 5. 手動安裝依賴項(xiàng)(在一鍵配置失效下使用,這里僅列出docker安裝中需要的依賴) ?5.1 cuda安裝 ?5.2 docker engine安裝 5.3?

    2024年01月18日
    瀏覽(227)
  • 【ubuntu環(huán)境配置】超詳細(xì)ubuntu20.04/22.04安裝nvidia驅(qū)動/CUDA/cudnn

    【ubuntu環(huán)境配置】超詳細(xì)ubuntu20.04/22.04安裝nvidia驅(qū)動/CUDA/cudnn

    nvidia顯卡驅(qū)動安裝方式有三種:使用ubuntu附加驅(qū)動的方式;使用命令行方式安裝;使用.run文件的方式進(jìn)行安裝, 點(diǎn)擊菜單中的Additional Drivers選擇適合的驅(qū)動版本進(jìn)行安裝,該方法最方便快捷(但有時(shí)會翻車) 更新所有的軟件包 安裝顯卡驅(qū)動 詳見我的另一篇博客Ubunut20.04/2

    2024年01月22日
    瀏覽(34)
  • Ubuntu18.04/20.04/22.04的Apollo8.0軟件包安裝(免編譯)

    Ubuntu18.04/20.04/22.04的Apollo8.0軟件包安裝(免編譯)

    本文主要介紹在如何使用軟件包(即 deb 包)的方式來安裝 Apollo,相對于源碼方式安裝,軟件包安裝方式不需要編譯,更加快捷。但是對環(huán)境的支持比較單一,如果在自定義環(huán)境內(nèi)安裝,請移步源碼安裝方式 1. 安裝 Ubuntu Linux 安裝 Ubuntu 18.04+ 的步驟,參見 官方安裝指南。 完

    2024年02月05日
    瀏覽(79)
  • Ubuntu20.04升級到Ubuntu 22.04

    Ubuntu20.04升級到Ubuntu 22.04

    執(zhí)行如下命令將Ubuntu升級到最新的版本: 升級完成后,重啟系統(tǒng) 重啟成功之后,查看系統(tǒng)的當(dāng)前版本 最新版本應(yīng)該是20.04.6,如下圖所示。 執(zhí)行如下命令開始升級 一路yes或確認(rèn)即可,下面是一些過程中的操作。 所有當(dāng)前 Ubuntu 20.04 的源列表文件將被 Ubuntu 22.04 的 jammy 源列表

    2024年02月17日
    瀏覽(26)
  • 如何將 Ubuntu 20.04 升級到 Ubuntu 22.04?

    Ubuntu 22.04,代號“Jammy Jellyfish”,于 2022 年 4 月 21 日發(fā)布,本文介紹如何將 Ubuntu 20.04 升級到 Ubuntu 22.04?。 在升級到 Ubuntu 22.04 之前,你應(yīng)該做以下事情: 備份外部驅(qū)動器上的所有文件。 確保您有穩(wěn)定的互聯(lián)網(wǎng)連接。 禁用任何外部存儲庫。 請注意,這可能會導(dǎo)致某些服務(wù)

    2024年02月06日
    瀏覽(16)
  • Ubuntu 20.04 升級Ubuntu 22.04 及更換國內(nèi)源指南

    Ubuntu 20.04 升級Ubuntu 22.04 及更換國內(nèi)源指南

    打開虛擬機(jī),發(fā)現(xiàn)我的ubuntu版本還停留在20.04上,主要平時(shí)都用的實(shí)體機(jī),樹莓派以及Centos系統(tǒng)居多,虛擬機(jī)也不是經(jīng)常使用,今天閑來無事就把它升級到22.04吧,升級到Ubuntu 22.04.1 LTS版本后它可以提供免費(fèi)安全和維護(hù)更新至 2027年4月。 我們點(diǎn)開左下角的應(yīng)用中心,啟動紫色

    2024年01月24日
    瀏覽(41)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包