最近在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 ...