交叉編譯lrzsz(用於串列埠傳輸檔案)
交叉編譯lrzsz
2016-03-20
1. 系統環境:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
2. 原始碼下載地址:
http://freecode.com/projects/lrzsz/
或者
https://ohse.de/uwe/software/lrzsz.html
3. 編譯工具:
適用於mini2440開發板的arm-linux-gcc-4.4.3-20100728.tar.gz
4. 新增cache file(可省略)
tar xzvf lrzsz-0.12.20.tar.gz
cd lrzsz-0.12.20
vi arm-linux.cache
ac_cv_prog_CC=${ac_cv_prog_CC='arm-linux-gcc'}
5. 配置及編譯
5.1 執行
./configure --cache-file=./arm-linux.cache --prefix=XX --host=arm-linux --build=arm-linux
若沒有設定第四步的cachefile
則執行
CC=arm-linux-gcc ./configure --cache-file=./arm-linux.cache --prefix=XX --host=arm-linux --build=arm-linux
5.2
make && make install
最後生成 bin man share 三個目錄
可以看到bin目錄下有 lrb lrx lrz lsb lsx lsz 幾個目標檔案
用過命令 ls -il 可以看到
7343648 -rwxr-xr-x 3 michael michael 156169 3月 20 00:43 lrb
7343648 -rwxr-xr-x 3 michael michael 156169 3月 20 00:43 lrx
7343648 -rwxr-xr-x 3 michael michael 156169 3月 20 00:43 lrz
7343649 -rwxr-xr-x 3 michael michael 157178 3月 20 00:43 lsb
7343649 -rwxr-xr-x 3 michael michael 157178 3月 20 00:43 lsx
7343649 -rwxr-xr-x 3 michael michael 157178 3月 20 00:43 lsz
lrb lrx lrz 是同一個檔案的硬連結, lsb lsx lsz是用一個檔案的硬連結。
常用引數
-b 以二進位制方式,預設為文字方式。(Binary (tell it likeit is) file transfer override.)
-e 對所有控制字元轉義。(Force sender to escape allcontrol characters; normally XON, XOFF, DLE, [email protected], and Ctrl-X are escaped.)
如果要保證上傳的檔案內容在伺服器端儲存之後與原始檔案一致,最好同時設定這兩個標誌,如下所示方式使用:
rz -be
使用以下指令碼方便編譯:
#!/bin/bash
CUR_DIR=`pwd`
SRC=lrzsz
OBJ=
HOST=arm-linux
BUILD=arm-linux
INSTALL_PREFIX=${CUR_DIR}/lrzsz_out
mkdir -p ${INSTALL_PREFIX}
cd ${SRC}
echo "ac_cv_prog_CC=${ac_cv_prog_CC='arm-linux-gcc'}" >> arm-linux.cache
./configure --prefix=${INSTALL_PREFIX} --host=${HOST} --build=${BUILD} --cache-file=./arm-linux.cache
make && make check && make install
cd -參考網址:
http://blog.csdn.net/linucos/article/details/5582979
http://www.tuicool.com/articles/iA3uYz
http://blog.163.com/seven_7_one/blog/static/16260641220101113111645638/
