ubuntu編譯環境
『壹』 【以CVPR模板為實例】Ubuntu下搭建Latex編輯環境(texlive+texstudio)
本文介紹在Ubuntu環境下搭建便捷的 LaTeX 編輯和編譯環境,包括編輯器安裝和 LaTeX 環境配置,並以 CVPR 模板為例,演示如何實現高效論文撰寫。
首先,選擇 Tex Studio 作為編輯器。下載對應的 .deb 文件後,雙擊完成安裝。運行 Tex Studio,新建文件並輸入測試代碼。點擊編譯,遇到未配置編譯器的提示。這時需安裝 miktex 或 tex live。
推薦 tex live,因為安裝過程相對簡單。下載約 3GB 的文件,耐心等待安裝。安裝後,檢查安裝路徑,通常位於 /usr/bin。接下來,在 Tex Studio 設置編譯器,通過 Options -> Configure Texstudio 找到並選擇對應的路徑。
配置完成後,運行測試代碼,預覽界面顯示結果。至此,基礎 LaTeX 環境搭建完成。若要撰寫學術論文,還需下載 CVPR 模板。推薦在 overleaf.com 注冊賬號下載,或通過鏈接直接獲取模板文件。
下載模板後,解壓文件並打開 Tex Studio。使用 File -> Open 選擇模板文件,進行編譯和預覽。大功告成!
『貳』 Ubuntu 嵌入式交叉編譯環境搭建
在一種計算機環境中運行的編譯程序,能編譯出在另外一種環境下運行的代碼,我們就稱這種編譯器支持交叉編譯,這個編譯過程就叫交叉編譯。簡單地說,就是在一個平台上生成另一個平台上的可執行代碼,而這種工具就是交叉編譯器(cross compiler)。
安裝前的絮叨,首先簡單介紹一下,所謂的搭建交叉編譯環境,即安裝、配置交銀叢知叉編譯工具鏈。在該環境下編譯出嵌入式linux系統所需的操作系統、應用程序等,然後再上傳到目標機上。 交叉編譯工具鏈是為了編譯、鏈接、處理和調試跨平台體系結構的程序代碼。對於交叉開發的工具鏈來說,在文件名稱上加了一個前綴,用來區別本地的工具鏈。例如,arm-linux-表示是對arm的交叉編譯工具鏈;arm-linux-gcc表示是使用gcc的編譯器。除了體系結構相關的編譯選項以外,其使用方法與Linux主機上的gcc相同,所以Linux編程技術對於嵌入式同樣適用。不過,並不是任何一個版本拿來都能用,各種軟體包往往存在版本匹配問題。例如,編譯內核時需要使用arm-linux-gcc-4.3.3版本的交叉編譯工具鏈,而使用arm-linux-gcc-3.4.1的交叉編譯工具鏈,則會導致編譯失敗。 那麼gcc和arm-linux-gcc的區別是什麼呢?區別就是gcc是linux下的C語言編譯器,編譯出來的程序在本地執行,而arm-linux-gcc用來在linux下跨平台的C語言編譯器,編譯出來的程序在目標機(如ARM平台)上執行,嵌入式開發應使用嵌入式交叉編譯工具鏈。
將壓縮包arm-linux-gcc-4.4.3.tar.gz存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了,我的存放路徑是 /home/song/software,如下圖,記住這個路徑,等會還會用到。
使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz將software文件夾下的arm-linux-gcc-4.4.3.tar.gz解壓縮安裝到當前目錄下如下圖
通過下圖可以看鋒消到解壓成功了,並且解壓後的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夾下,如下圖所示,這個存放路徑可得記住,如下圖
接下來配置系統環境變數,把交叉編譯工具鏈的路徑添加到環境變數PATH中去,這樣就可以在任何目錄下使用這些工具。記下上一步中的安裝路徑,使用命令:vim /etc/profile 編輯profile文件,添加環境變數。
在profile中最後一行添加:export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin這個路徑就是那個bin目錄所在的路徑,可能你的不一樣,按照你實際的目錄填就可以了,如下圖32行, 編寫完退出並保存
使用命令:source /etc/profile 使環境變數生效
在終端上輸入命令arm-linux再按Tab鍵,可以看到下圖,說明環境變數設置成功了
使用命令:arm-linux-gcc -v 會出現下面的錯誤提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
意思是出現這種問題的原因是由於Ubuntu12.04用的是64位的,解決方法就是使用命令:sudo apt-get install ia32-libs 裝一些32位的庫。
待安裝完32位的庫之後,再使鄭鎮用命令:arm-linux-gcc -v,這一次就成功了,如下圖
驗證,編譯一個hello.c文件
使用命令:arm-linux-gcc hello.c -o hello 看是否編譯成功 可見成功生成了二進制文件。
總結:其實在安裝過程中,會出現各種各樣的錯誤,一般就是庫文件安裝不完整,大家可以把錯誤信息直接復制,到網上搜索一下,一般都能解決,這里希望大家在學習Linux時多一點耐心。
『叄』 ubuntu中安裝交叉編譯環境,arm-linux-gcc-vnotfound
在Ubuntu系統中遇到安裝交叉編譯環境,尤其是arm-linux-gcc時,可能出現找不到arm-linux-gcc的問題。這通常發生在64位的Ubuntu系統上。盡管在32位Ubuntu系統上配置好環境後通常不會遇到此問題,但在64位系統中執行arm-linux-gcc時,可能會出現提示找不到該文件或目錄的錯誤。
解決這個問題的關鍵在於確保系統中包含了32位運行庫。在64位系統中運行32位的unicorn(arm-linux-gcc)需要相應的32位運行庫支持。通過執行以下命令:
sudo apt-get install ia32-libs
即可解決這個問題。此命令將安裝ia32-libs庫,它包含了在64位系統中運行32位應用所需的所有32位庫文件。安裝完成後,嘗試再次執行arm-linux-gcc,問題應該會得到解決。
這是一個簡單而有效的解決方案,確保了在64位Ubuntu系統中能夠正常安裝並使用arm-linux-gcc進行交叉編譯工作。
請注意,這個解決方案基於在64位Ubuntu系統中解決arm-linux-gcc找不到問題的情況。如果遇到其他與交叉編譯環境相關的錯誤,可能需要進一步檢查系統配置、依賴庫以及編譯器版本等。
感謝提供問題解決方案的作者,希望這些信息對遇到類似問題的開發者有幫助。
『肆』 (未完)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中寫入
終端運行:
板卡上可能要安裝一些庫