用crosstool ng構建自己的交叉編譯工具鏈

2021-07-07 04:09:20 字數 1519 閱讀 9505

交叉編譯器是編譯器的一種,它執行在一種平台下卻生成另一種平台執行的二進位制檔案。

當前構建交叉編譯器的方法有很多,這裡介紹一種方便快捷的方式:使用crosstool-ng

:1.       從crosstool-ng

cd crosstool-ng-1.21.0

3.       執行編譯三步曲

./configure --prefix=/opt/cross

make

make install

4.       確認/opt/cross/bin已經安裝,當然你可以用你習慣的路徑替代/opt/cross 

2.       進入前面一步建立的目錄:

cd /opt/crosstool

3.       執行 ct-ng menuconfig進入配置介面:

4.       選擇『paths and misc options』選單,啟用』  try features marked as experimental』選項,這一步很重要

5.       在『paths and misc options』 選單下,修改『directory containing customsource components』值,設定為你想要最終存放工具鏈的目錄。

6.       返回主選單,選擇『target options』

7.       『target architecture 』選項選擇『 arm』;『endianness 』選項選擇『 little endian』;『bitness』選項選擇『32-bit』。

8.       返主選單,選擇『operating system』(跳過『toolchain options』,這裡使用預設選項就夠了)

9.       『target os』選擇『linux』, 『linuxkernel version』選項中選擇你所使用的核心版本

10.   返回主選單,選擇『binary utilities』

11.   選擇你需要的版本,筆者直接選擇最高版本(如果需要編譯linaro版本,請先啟用『show linaro versions』選項)。

12.   返回主選單,選擇『c compiler』

13.   選擇你所使用的gcc版本(筆者選擇5.1.0,如果需要編譯linaro版本,請先啟用『show linaro versions』選項),因為筆者需要使用gcc的乙個新特性,所以啟用『compile libsanitizer』選項,一般情況下,保持預設值就夠了。

14.   其它選項用預設值,退出並儲存配置工具

15.   執行ct-ngbuild編譯工具鏈

ct-ng build

16.   休息一會…編譯是比較耗時,確保過程中網路不會中斷…

17.   把你的工具鏈目錄設定到$path 環境變數中

18.    可以用新的工具鏈編譯**了。

自構建多級快取

一 背景說明 準備使用責任鏈模式,構建多級快取鏈,依次逐級向下取值,直到取到值為止。將取到的值再逐級賦值給未取到值的快取級。二 定義多級list 鏈路介面類chain public inte ce chain快取公用介面 public inte ce cacheclient快取實現類 public ...

用openssl自簽名證書

進入命令列 1.進入證書存放的路徑 rm rf ssl 假如ssl資料夾已經存在 mkdir ssl cd ssl 2.生成金鑰 openssl genrsa des3 out ssl.key 1024 輸入密碼 isec openssl rsa in ssl.key out ssl.key 輸入密...

用CMake 構建Qt 專案

譯 用cmake構建qt專案 qtsdk中已經包含了qmake用於處理跨平台的編譯問題。然而,還存在其它編譯工具,比如autotools,scons和cmake.這些工具滿足不同的需求,比如外部依賴。當kde專案從使用qt3公升級到使用qt4時,整個專案將構建工具從autotools轉而使用cmak...