nload 交叉編譯

2021-10-24 12:23:14 字數 1416 閱讀 5931

最近在hi3531d**下做開發,想用nload檢視下網路狀態,說幹就幹,按網上的教程:

1:編譯安裝ncurses

wget 

tar -xzvf ncurses-6.0.tar.gz

cd ncurses-6.0

./configure --prefix=/opt/ncurses --host=arm-hisiv300-linux --with-normal --with-shared

make && make install

很順利

2. 編譯安裝nload

wget 

tar -xzvf nload-0.7.4.tar.gz

cd nload-0.7.4

./configure --host=arm-hisiv500-linux cxxflags="-i/opt/ncurses/include/ncurses/ -i/opt/ncurses/include/" ldflags="-l/opt/ncurses/lib/ -lncurses"

make

configure 那一步總是過不去,報錯資訊為ncurses庫找不到。但是咱徑沒錯,用arm-hisiv500-linux-gcc 手動編譯檔案,指定ncurses目錄可以編譯通。  檢視config.log,明白原因了。 指令碼在檢測ncurses庫的時候,引用ncurses庫生成乙個conftest的檔案,然後去執行!!!!   注意,是執行,然後判斷返回結果,arm-hisiv500的可執行檔案怎麼能在x86下執行!!!!! 

5184 #if test "$ac_cv_lib_ncurses_initscr $ac_cv_header_curses_h" != "yes yes"; then

5185 # as_fn_error $? "ncurses library or development files not found. ncurses is required for $package_name ." "$lineno" 5

5186 #fi

5187 #if test "$ac_cv_lib_form_new_form $ac_cv_header_form_h" != "yes yes"; then

5188 # as_fn_error $? "form library or development files not found. these are part of ncurses which is requi red for $package_name." "$lineno" 5

5189 #fi

再執行configure,終於通過了。  然後make,make完了去src 目錄下找生成的nload檔案就行,不用再make install了。

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

交叉編譯 Go 交叉編譯 跨平台編譯

golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...