最近一直在研究libpcap开源库,想把它移植到嵌入式平台,在移植过程中遇到一些问题,今天把这些问题记录下来。
首先需要配置交叉编译器,我的是友善之臂提供的arm-linux-gcc-4.5.1。配置交叉编译器非常简单,将交叉编译器压缩包进行解压,配置环境变量即可。因为这个交叉编译器是32位的,我开始使用64位的Linux系统,在编译时会有很多的问题,所以换成了32的Linux系统。
一、配置交叉编译器
1、解压缩gcc-4.5.1-v6-vfp-20101103.tgz,执行tar xvzf gcc-4.5.1-v6-vfp-20101103.tgz -C /,该命令会解压到/opt目录里面。
2、配置环境变量,编辑/etc/profile文件,在末尾处添加一行 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
保存并退出。执行source /etc/profile,使之生效。
3、查看一下arm-linux-gcc,执行arm-linux-gcc -v若有版本信息输出,则环境变量已经生效。若没有输出可以,可以退出一下系统再登录。
二、交叉编译libpcap
1、在网上下载libpcap,我下载的是libpcap-1.8.1.tar.gz
2、解压缩,执行tar xvzf libpcap-1.8.1.tar.gz
3、在编译之前需要安装一些依赖,执行yum install flex byacc bison -y
3、进入libpcap-1.8.1目录,先执行export CC=arm-linux-gcc,然后进行配置,执行./configure --host=arm-linux --with-pcap=linux
4、configure执行完之后,输入make命令进行编译。编译完成后在libpcap-1.8.1目录里面会生成libpcap.a静态库和libpcap.so.1.8.1动态库。这两个库就是我们所需要的。