詳解深談Ubuntu編譯原始碼包

2021-06-07 00:35:23 字數 2430 閱讀 9695

學習編譯時,你可能會遇到ubuntu編譯問題,這裡將介紹ubuntu編譯問題的解決方法,在這裡拿出來和大家分享一下。可見ubuntu隸屬於linux陣營。順便問一句樓主既然沒有文件何必一定要學ubuntu,還是學有文件的比較方便。linux系統中,軟體通常以源**或者預ubuntu編譯包的形式提供。 

軟體源**需要您親自ubuntu編譯為二進位制的機器**才能夠使用,安裝比較耗時,不過您可以自行調節ubuntu編譯選項,決定您需要的功能或元件,或者針對您的硬體平台作出優化。 

預ubuntu編譯的軟體包,通常是由軟體的發布者進行ubuntu編譯,您只要將軟體拷貝到系統中就可以了。考慮到預ubuntu編譯軟體包的適用性,預ubuntu編譯軟體包通常不會針對某種硬體平台優化。它所包含的功能和元件也是通用的組合。  

ubuntu系統中,軟體通常以「deb」格式的包檔案發布,它是一種預ubuntu編譯軟體包。deb包中除了包含已ubuntu編譯的軟體,通常還包括軟體的拷貝路徑、對其它軟體包的依賴關係紀錄、乙個比較通用的配置檔案以及軟體的描述、版本、作者、類別、占用空間等資訊。 

deb軟體包命令遵行如下約定:  

soft_ver-rev_arch.deb  

soft為軟體包名稱,ver為軟體版本號,rev為ubuntu修訂版本號,arch為目標架構名稱  

例如:azureus_2.4.0.2-0ubuntu2_all.deb 您需要使用「dpkg」命令來管理deb軟體包:  

dpkg -i | --install ***.deb 安裝deb軟體包  

dpkg -r | --remove ***.deb 刪除軟體包  

dpkg -r -p | --purge ***.deb 連同配置檔案一起刪除  

dpkg -i | -info ***.deb 檢視軟體包資訊  

dpkg -l ***.deb 檢視檔案拷貝詳情  

dpkg -l 檢視系統中已安裝軟體包資訊  

dpkg-reconfigure *** 重新配置軟體包  

有些時候,您使用「dpkg」安裝乙個軟體包,系統會提示您該軟體包依賴其它軟體包。這時,您先安裝其它軟體包,直到滿足依賴關係為止。或者同時安裝多個軟體包  

dpkg -i aaa.deb bbb.deb ccc.deb 

apt

如果乙個軟體依賴關係過於複雜,使用「dpkg」來安裝它,並不是乙個明智的選擇,這個時候您就需要用到apt軟體包管理系統。apt可以自動的檢查依賴關係,通過您預設的方式來獲得相關軟體包,並自動安裝配置它。事實上,在多數情況下,我們推薦您使用apt軟體包管理系統。  

apt系統需要乙個軟體資訊資料庫和至少乙個存放著大量deb包的軟體倉庫,我們稱之為「源」。「源」可以是網路伺服器,安裝cd或者本地軟體倉庫。您需要修改「/etc/apt/sources.list」檔案,使apt系統能夠連線到「源」。 

原始碼包

sudo mv ***.tar.gz /usr/local/src 移動原始碼包  

cd /usr/local/src 進入「/usr/local/src/」目錄  

sudo tar -xzvf ***.tar.gz 解包原始碼  

cd ***_ver/ 進行解包後的原始碼目錄  

原始碼目錄中通常有乙個「configure」指令碼,用來配置即將開始的ubuntu編譯過程。您可以執行它  

sudo ./configure [--prefix=/usr/loca/*** ......]  

它會自動檢測軟體的ubuntu編譯環境和依賴關係,並且生成「makefile」檔案。 

您可以使用帶引數的命令「./configure --help」,或者閱讀「install」檔案,檢視該指令碼允許的引數。例如使用「--prefix=/usr/local/***」引數,將軟體的安裝目錄設定為「/usr/local/***/」。(如果您一定要將軟體安裝在乙個目錄下,我們建議您安裝在這裡)  

現在執行「make」命令,系統會根據「makefile」檔案中的設定,通過「make」工具呼叫ubuntu編譯器和所需資源檔案,將源**檔案ubuntu編譯成目標檔案。 

sudo make

執行「make install」命令,「make」工具會自動將連線目標檔案,將最終生成的檔案拷貝到「makefile」檔案設定的路徑中,並且完成更改檔案的屬性,刪除殘留檔案等活動。 

sudo make install

現在,您的ubuntu編譯安裝已經完成,為了更方便的使用它,需要給程式的可執行檔案作乙個符號鏈結。  

sudo ln -sf /usr/local/***/exe /usr/local/bin/exe  

tips:為了順利的進行ubuntu編譯,您至少需要安裝「build-essential」軟體包。  

使用命令「sudo apt-get install build-essential」安裝它。 

ubuntu編譯android原始碼

1.首先為安裝ubuntu系統,大家可以參考以下鏈結 建議大家把 根目錄分70g以上 3.安裝編譯必備的工具 清華大學映象庫 5.編譯過程 6.用到的命令 卡住不動 ctrl z 清除make資訊 make clobber 開始編譯 build envsetup.sh 選擇版本 lunch 開始編譯...

ubuntu 編譯 鴻蒙 原始碼

鴻蒙原始碼編譯需要在ubuntu中進行,應用開發則需要window環境。我使用的是virtualbox。阿里雲映象位址 需要用到的工具 開發工具 用途python3.7 執行編譯指令碼工具 bash 執行命令列工具 gn產生ninja編譯指令碼 ninja 執行ninja編譯指令碼 llvm 編譯工...

Ubuntu原始碼編譯安裝實踐

最近由於工作需要原始碼編譯安裝nginx原始碼包,即以.tar.gz結尾的包 正常步驟應該是 1.sudo tar zxvf nginx 1.7.9.tar.gz 2.cd nginx 1.7.9 3.sudo configure 4.sudo make 5.sudo make install 但是...