//----------------------------------------------------
//AUTHOR: lanyang123456
//DATE: 2012-6-20
//----------------------------------------------------
环境
宿主机系统 Fedora 16内核 3.1
ARM开发板OK6410 Linux系统内核3.1
ncurses版本5.0
目录
1.下载库源码
2.编译
2.1配置
2.2编译与安装
3.移植
参考
ncurses提供字符终端处理库,包括面板和菜单。
1.下载库源码
库文件源码下载地址
http://mirror.bjtu.edu.cn/gnu/ncurses/
选择5.0版本
下载得到压缩文件
ncurses-5.0.tar.gz
将压缩解压,得到目录ncurses-5.0
2.编译
进入目录ncurses-5.0
以下配置与编译参考ncurses源文件中的INSTALL文件。
由于编译过程出现关于C++头文件的问题,所以配置时使用配置参数--without-cxx-binding,不对C++部分进行编译(具体说明详见源文件中的INSTALL文件)
2.1配置
[root@localhost ncurses-5.0]# ./configure --host=arm-linux --prefix=/home/ncurses_cross --with-shared CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc --without-cxx-binding
配置选项--host=arm-linux指明程序运行的系统平台,arm-linux
配置选项--prefix=/home/ncurses_cross指明编译结果安装路径
配置选项 --with-shared 指明编译生成共享库文件
配置选项--without-cxx-binding不对c++相关文件进行编译
配置选项CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gc配置交叉编译器路径
配置的参数CC似乎不起作用,或者根本没有此参数。这与configure脚本文件配置的参数有关。可以通过 configure –help查看配置参数及含义
配置后,
交叉编译器需要另外设置。将源文件中所有Makefile文件中gcc替换为交叉编译器 /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc
2.2编译与安装
编译
[root@localhost ncurses-5.0]# make
安装编译得到的文件,安装到配置时指定的路径 /home/ncurses_cross
[root@localhost ncurses-5.0]# make install
可以查看安装的文件
[root@localhost ncurses-5.0]# cd /home/ncurses_cross/
[root@localhost ncurses_cross]# ls
bin include lib man share
[root@localhost ncurses_cross]#
lib目录下就有我们需要的共享库文件libncurses.so.5.0
使用file命令查看文件的类型
查看交叉编译得到的共享库文件的类型
[root@localhost lib]# file libncurses.so.5.0
libncurses.so.5.0: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
处理器类型为ARM
3.移植
可以将交叉编译后的共享库文件拷贝到ARM开发板系统标准库目录 /lib或 /usr/lib ,供开发板使用。
参考
Mini2440移植Ncurses库(一)
http://www.cnblogs.com/doveyid/archive/2011/01/12/1934099.html
转载请注明出处。