當前位置:首頁 » 編程軟體 » apt編譯環境

apt編譯環境

發布時間: 2024-11-30 23:28:12

linux SDK解壓編譯環境搭建

Linux開發筆記1-20220917



解壓完成後,查看文件列表。



安裝依賴軟體包:



使用以下命令安裝SDK編譯環境所需軟體包:





  • sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool




  • sudo apt-get install expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support




  • sudo apt-get install qemu-user-static live-build bison flex fakeroot cmake gcc-multilib




  • sudo apt-get install g++-multilib unzip




  • sudo apt-get install device-tree-compiler python-pip libncurses5-dev pyelftools




  • apt-get install device-tree-compiler





安裝命令執行後,即可編譯SDK。



編譯過程耗時較長,可做其他事情。



固件打包工具:mkfirmware.sh



查看img文件實際存放位置:



在recdev目錄下執行「ls -al」命令查看。



Ubuntu虛擬機下看不到U盤解決:



若U盤不支持exfat格式,安裝「sudo apt-get install exfat-utils」。



若U盤每次插入都被PC識別,可在VMware虛擬機的vmx文件中修改以下內容:





  • 將「usb.restrictions.defaultAllow = "FALSE"」改為「usb.restrictions.defaultAllow = "TRUE"」。





保存並關閉虛擬機,重新打開後U盤符號變為正常。



進入虛擬機後查看U盤。



學習Linux,實踐最重要。我之前未接觸過Linux,現在主要做硬體設計。我覺得應拓寬知識邊界,多一份技能總無害。



研究表明,專注學習和實踐6個月,可達到優秀水平。讓我們行動起來,讓時間見證。



分享的Linux開發筆記,記錄了實際項目中遇到的問題,旨在幫助同樣探索Linux開發的朋友們。



分享知識是一種美德,請幫忙點贊轉發,惠及更多需要的朋友。

Ⅱ Android開發APT技術,與使用案例

annotationProcessor,全稱為 APT,即 Annotation Processor Tool,這一工具在 Java 編譯過程中,負責掃描和處理註解,獲取註解信息與被註解對象的相關數據,進而自動生成 Java 代碼。APT 在編譯時介入,對源代碼進行處理,提高代碼執行性能,避免重復的代碼編寫。



ButterKnife、EventBus、ARouter、GreenDAO 等 Android 開發框架均使用了 APT 技術。在 ARouter 框架中,路由表的生成過程利用了 APT 技術,這一表在運行時生成,用於填充 WareHouse 路由元信息。



APT 的主要作用是在編譯階段,即在 Java 源代碼轉換為 class 文件,並最終生成 dex 文件打入 APK 包中時,處理註解。APT 的作用分為兩部分:第一,它在編譯開始時介入,處理編譯時註解;第二,AOP(Aspect Oridnted Programming)則在編譯完成後、生成 dex 文件之前,通過修改 .class 文件,實現代碼的修改或添加邏輯,常用於代碼監控、修改與分析等場景。



APT 的使用能實現如下效果:減少重復代碼編寫,通過註解自動完成,如 Butterknife 可以直接通過註解表示 view ID,無需重復的手動編寫代碼;獲取註解及生成代碼均在編譯時完成,相比於運行時通過反射處理註解,能顯著提升程序性能。



APT 不能修改源文件,只能獲取註解信息與被註解對象信息,並進行自定義處理。宏觀上,APT 是 Java 編譯器提供給開發者在編譯時處理註解的技術,微觀上,具體應用即為繼承自 AbstractProcessor 的實現類。



APT 的原理在於,Java 源碼編譯至 class 文件的過程中,需要經過註解處理器處理,處理器生成的代碼同樣會經歷這一過程,最終生成 class 文件。在 Android 環境中,class 文件被打包為 dex 文件,最後形成 APK 文件。



實現一個基於 APT 的實例,類似於 Butterknife 中的 @BindView 註解,主要步驟包括定義註解、創建註解處理器以及調用處理器生成的代碼。實現過程中,需要構建如下的工程結構:




  • app:測試功能

  • apt-annotation:自定義註解模塊

  • apt-processor:註解處理器模塊

  • apt-sdk:通過反射調用 apt-processor 生成方法的模塊



構建步驟如下:




  1. 在 apt-annotation 中定義自定義註解。

  2. 在 apt-processor 中引入依賴,依賴 apt-annotation 並需要依賴 auto-service 第三方庫,用於創建註解處理器。

  3. 在 apt-processor/build.gradle 文件中創建註解處理器。

  4. 處理器需繼承 AbstractProcessor。

  5. 代碼編寫中避免使用中文,否則可能無法編譯。

  6. ClassCreatorFactory 類負責提供生成新類所需代碼。

  7. app 的 gradle 文件中引入相關依賴。

  8. 兩個 Activity 中調用相關方法。

  9. 檢查目錄生成文件。

  10. 在 app 中調用 apt-sdk 的方法。



  11. APT 技術在 Android 開發中的應用解析至此,更多 Android 開發技術可參考《Android 核心技術手冊》。

Ⅲ apt常用命令

在使用Apt包管理器時,熟悉常用命令是至關重要的。下面將詳細介紹Apt常用命令及其功能,以幫助用戶更有效地管理軟體包。


搜索包使用命令apt-cache search,可以根據關鍵詞查找符合要求的包。


獲取包的詳細信息使用命令apt-cache show,可以查看包的描述、大小、版本等。


安裝包使用命令sudo apt-get install,安裝指定的包。


重新安裝包,使用命令sudo apt-get install -i,在重新安裝之前顯示所有將被更新或刪除的文件。


強制安裝使用命令sudo apt-get -f install,強制安裝,修復缺失的依賴。


刪除包使用命令sudo apt-get remove,移除指定的包。


刪除包及其配置文件使用命令sudo apt-get remove --purge,徹底移除包及其相關配置。


清理系統使用命令sudo apt-get autoremove --purge,自動移除已卸載包的依賴包以及配置文件。


更新源使用命令sudo apt-get update,更新本地的包源信息。


更新已安裝的包使用命令sudo apt-get upgrade,升級已安裝的包至最新版本。


升級整個系統使用命令sudo apt-get dist-upgrade,在升級包的同時調整系統設置。


使用 dselect 升級系統使用命令sudo apt-get dselect-upgrade,提供更強大的升級功能。


了解包的依賴關系使用命令apt-cache depends,顯示指定包的所有依賴。


了解特定依賴使用命令apt-cache rdepends,顯示某個包作為依賴被哪些包使用。


安裝編譯環境使用命令sudo apt-get build-dep,用於安裝特定包的編譯所需環境。


下載包的源代碼使用命令apt-get source,獲取指定包的源代碼。


清理下載文件使用命令組合sudo apt-get clean && sudo apt-get autoclean,分別清理已下載的存檔文件和過時的包。


檢查依賴完整性使用命令sudo apt-get check,確保所有依賴包均處於正常狀態。


自動安裝所需依賴及升級包使用命令apt-get install,同時安裝包及其依賴,自動處理hold標志(停止安裝)的情況。


移除包及其依賴使用命令apt-get remove,在移除包時自動處理依賴關系。


完全移除包使用命令apt-get remove --purge,徹底移除包及其相關配置。


通過這些命令,用戶可以有效管理軟體包,提升系統性能和穩定性。


(3)apt編譯環境擴展閱讀

APT(the Advanced Packaging Tool)是Ubuntu 軟體包管理系統的高級界面,Ubuntu 是基於Debian的,APT由幾個名字以「apt-」打頭的程序組成。apt-get、apt-cache 和apt-cdrom是處理軟體包的命令行工具。

Ⅳ debian怎麼搭建c語言編譯環境

在linux下面做C的話,編輯器很多,emacs,vim,nano,隨便挑一個文本編輯器和筆記本一樣用就好了,編譯環境的話,你要裝這些,有的包可能你已經有了,命令如下
apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
apt-get install build-essential
這兩個命令會把C和C++編譯環境需要的包都裝上的

Ⅳ (未完)ubuntu20.04 qt6.2.4 aarch64 開發編譯環境配置

install QT6

更新

下載安裝工具

文件許可權

運行在線安裝文件

如果遇到問題:

重新安裝libxcb-xinerama文件

重新運行

輸入賬號,然後安裝。選擇一個版本,如6.2.4整個勾上,然後Next到下載界面。

install opencv

下載opencv

解壓到指定文件夾

新建build文件夾,cmake編譯

編譯程序,編譯完成後安裝

install eigen

下載eigen release

解壓

編譯

完成eigen3的安裝

QT include opencv eigen項目遷移到ubuntu後的編譯中的報錯問題

就可以正常啟動qt creator了。

解決方法:

通常安裝後就能解決問題,如果不行,考慮下面的軟鏈接方法。

詳細見 qt構建遇到 cannot find -l xxx 問題_qt cannot find -l-CSDN博客、 Linux的Qt編譯出現:-1: error: cannot find -lGL問題的解決方法-CSDN博客

雖然教程是用的野火魯班貓,但是方法是通用的

安裝cmake及其他

查看cmake版本

關於燒錄Raspberry pi Image

樹莓派插入SD卡並通電。(使用 Raspberry Pi Imager完成SD鏡像燒錄。)

可以下載( Ubuntu Lts)作為燒錄鏡像

Ubuntu server無界面,使用SSH遠程訪問,使用finalshell:

IP查看tplink中的樹莓派IP,埠默認是22

QT creator添加Device

添加設備,可以在區域網中找到設備。

打開設置,然後add一個Device

需要填寫IP,埠,user name, 如果沒有key,就生成一個key file,然後鏈接,期間需要輸入username對應的密碼。出現下面窗口就是配置好了。

詳細可以看這個鏈接 7. 遠程連接 - [野火]嵌入式Qt應用開發實戰指南-基於LubanCat-RK開發板 文檔

qt creator kits交叉編譯

PC的Ubuntu20.04中下載交叉編譯包 arm-linux-gcc,然後在ARM板卡上部署測試。參考這個網址:

aarch64對應教程如下:

3. Qt程序編譯 — [野火]嵌入式Qt應用開發實戰指南—基於LubanCat-RK開發板 文檔 (embedfire.com)

安裝交叉編譯器:

先看看自己虛擬機(PC)的信息

然後看下嵌入式設備(arm64)的信息

針對arm64嵌入式系統,使用Ubuntu20.04系統apt 安裝交叉編譯器, 其安裝命令是

通過這個指令獲取就不用下面的操作下載壓縮包了,

從網盤獲取交叉編譯器、Qt庫文件(針對aarch64平台)、sysroot文件 # 復制文件到虛擬機系統中

查看解壓到的位置

查看剛才解壓的文件。

安裝完了之後在terminal中輸入aarch64 + TAB,如下就是安裝成了:

編譯源碼測試:

先寫個c文件交叉編譯試試

main.cpp內容:

編譯通過後通過file指令查看文件類型是否是ELF:64bit LSB shared object,ARM aarch64...。如果是,則完成源碼編譯。

編譯後生成了main可執行文件,拷貝到arm64平台測試,查看輸出:hello world!!!。

Qt編譯arm64(aarch64)環境搭建

下載qt6.2.4源代碼,在虛擬機上編譯aarch64版本的庫文件

打開QT Creator,打開kits配置套件

如下添加一個/opt目錄下的qmake

添加gcc g++ aarch64編譯器

添加一個構建套件kit, 如下:

源程序選擇構建套件並運行:

在嵌入式設備linux系統上運行編譯好的程序:

復制Qt庫到板卡,然後設置相應的環境變數,就可以運行程序。 先復制前面編譯的Qt程序到板卡,然後簡單運行程序:

使用winscp拷貝依賴文件到嵌入式設備上,如樹莓派:

解壓完成後,設置該庫為環境變數

並重新運行程序

如果要永久變更,就在~/.bashrc中寫入

終端運行:

板卡上可能要安裝一些庫

熱點內容
招行支票密碼器口令是多少 發布:2025-01-10 06:55:27 瀏覽:353
好的解壓拓展實力怎麼樣 發布:2025-01-10 06:49:18 瀏覽:699
租伺服器會自帶公網ip么 發布:2025-01-10 06:49:17 瀏覽:347
mfc中ftp上傳與下載 發布:2025-01-10 06:47:06 瀏覽:349
逍遙安卓怎麼加速 發布:2025-01-10 06:45:50 瀏覽:396
視頻存儲硬碟 發布:2025-01-10 06:43:35 瀏覽:411
編程貓萬海妍 發布:2025-01-10 06:37:41 瀏覽:779
檢測手機存儲速度 發布:2025-01-10 06:37:08 瀏覽:972
linux如何打開文件 發布:2025-01-10 06:32:00 瀏覽:204
windows如何運行安卓軟體 發布:2025-01-10 06:31:54 瀏覽:236