交叉编译expect
来源:互联网 发布:美媛馆app软件下载 编辑:程序博客网 时间:2024/05/16 17:32
交叉编译 expect 需要先编译如下依赖包:tcl
tcl源码下载:
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
我的目标主机是一台运行着openwrt系统的x86机器。工具链为 i486-openwrt-linux-
./configure --prefix=$PWD/tmp --host=i486-openwrt-linux --build=i686-linuxmake
生成 Makeflie 文件后,需要修改Makeflie 里面的 CC。默认是 gcc
。改为 i486-openwrt-linux-gcc
make
发现报错。找不到 ieee 这个库。于是只好到网上去找:
找到一个 ieee1284 的库。解压:
CC=i486-openwrt-linux-gcc ./configure --prefix=$PWD/tmp --host=i486-openwrt-linux --build=i686-linuxmakemake install//拷贝所有 库 到工具链的 lib 目录cp * -rfd /opt/OpenWrt-Toolchain-x86-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/toolchain-i386_i486_gcc-4.8-linaro_uClibc-0.9.33.2/lib///拷贝头文件到工具链的 include 目录cp * /opt/OpenWrt-Toolchain-x86-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686/toolchain-i386_i486_gcc-4.8-linaro_uClibc-0.9.33.2/include/
编译发现还是没有找到 ieee。原来我下载的源码库是 ieee1284.于是把makefile文件里面所有 ieee 都改成 ieee1284
在编译。成功
make install 安装到当前目录下的tmp目录。
安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。
暂时不要删除tcl源代码,因为expect的安装过程还需要用。
交叉编译 expect
./configure --prefix=$PWD/tmp --host=i686-linux --build=i686-linux --with-tcl=/work/src/openwrt_x86/expect/tcl8.4.20/unix/tmp/lib --with-tclinclude=/work/src/openwrt_x86/expect/tcl8.4.20/generic
修改 makeflie 把 gcc 改成 i486-openwrt-linux-gcc 把所有ieee改成ieee1284
修改
expect: exp_main_exp.o $(PKG_LIB_FILE) $(CC) \ -pipe ${CFLAGS_DEFAULT} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ -Wl,--export-dynamic \ -o expect exp_main_exp.o \ -L/work/src/openwrt_x86/expect5.45 -lexpect5.45 \ -L/work/src/openwrt_x86/expect/tcl8.4.20/unix/tmp/lib -ltcl8.4 \ -ldl -lieee1284 -lutil -lm \ -Wl,-rpath,${LIB_RUNTIME_DIR} \ -Wl,-rpath,${LIB_RUNTIME_DIR}/${PACKAGE_NAME}${PACKAGE_VERSION} $(SETUID) expect
在 连接库行加上 -lieee1284 -lutil 否则编译会报错
再次 make 发现没问题
记得要在目标机器上面运行这个程序的话,需要把前面的交叉编译的 tcl ieee 库文件都拷贝到目标机器上。同时再 expect 目录下会生成一个
libexpect5.45.so
这个也要拷贝到目标机器上
- 交叉编译expect
- 利用extect自动输入密码及expect的交叉编译
- expect安装编译方法
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 交叉编译
- 上李邕(yong1)
- 请教如何在数据绑定时不让combox控件触发SelectedIndexChanged事件,
- HDU 5325 Crazy Bobo(思路+dfs 记忆化)
- 反射
- 更改MFC标题栏图标和生成的执行文件图标
- 交叉编译expect
- c++类成员变量初始化的一种方法
- Linux下Python 及Pexpect 的安装【自己留存】
- Cloneable Interface in java
- read text file DEMO
- hdu 1856 More is better
- Java基础
- zookeeper还不错的资料
- [Phonegap+Sencha Touch] 移动开发57 Cordova 5生成的安卓apk,versionCode错误(末尾多了个0)的解决办法