arping交叉编译

arping命令依赖libpcap和libnet,需要先交叉编译这两个库。

1.交叉编译libpcap

下载libpcap源文件,从github上克隆:

bash 复制代码
git clone https://github.com/the-tcpdump-group/libpcap.git

source交叉编译环境

bash 复制代码
# environment-setup是本机的交叉编译环境, 里面指定了CC CXX等,这里需要改成你自己的
source environment-setup

environment-setup里面的内容大概长这个样子:

编译:

bash 复制代码
cd libpcap
./autogen.sh
./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi
make install -j8

生成的库在build目录下面。

2. 交叉编译libnet

下载libnet源文件,这里使用的版本是1.1.5:https://github.com/libnet/libnet/archive/refs/tags/v1.1.5.tar.gz

解压并编译:

bash 复制代码
tar -xf libnet-1.1.5.tar.gz
cd libnet1.1.5/libnet
mkdir -p /sw/share/aclocal 
mkdir m4
./autogen.sh
./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi
make install -j8  #可能会报错,但是库文件能编译出来

3.交叉编译arping

下载源文件,从github上克隆:

bash 复制代码
git clone https://github.com/ThomasHabets/arping.git

编译:

bash 复制代码
#注意点:路径使用绝对路径
#编译如果出现函数重定义,注释掉mock_libnet.c和mock_libpcap.c里的内容
# /home/xxx/workspace/arping_cmd需要换成自己的路径

./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi LDFLAGS='-L /home/xxx/workspace/arping_cmd/libnet-1.1.5/libnet/build/lib -L  /home/xxx/workspace/arping_cmd/libpcap/build/lib'  CPPFLAGS='-I  /home/xxx/workspace/arping_cmd/libnet-1.1.5/libnet/build/include/ -I /home/xxx/workspace/arping_cmd/libpcap/build/include'

make -j8
make install

编译完成会在build目录下生成可执行文件
相关推荐
深念Y13 天前
技术探索记录 在 Android 手机上运行 One API
android·linux·服务器·智能手机·go·交叉编译·服务
今天也想躺ping1 个月前
linux系统移植pjsua库实现sip通话功能
linux·sip·交叉编译
想你依然心痛1 个月前
Buildroot快速构建——根文件系统与内核裁剪实战
交叉编译·根文件系统·包管理·启动优化·busybox·buildroot·内核裁剪
花花少年2 个月前
Ubuntu系统下交叉编译gpac
交叉编译·gpac
nnnnichijou2 个月前
Qt 6.9 嵌入式 Linux 交叉编译全栈填坑指南(以树莓派5 AArch64 为例
qt·嵌入式·交叉编译·qml·树莓派5
jrrz08283 个月前
Apollo OSQP库交叉编译
vscode·apollo·交叉编译·mpc·osqp
六点的晨曦4 个月前
OpenCV 4.3 交叉编译 AArch64 完整指南(x64 Ubuntu 20.04)
opencv·交叉编译·ubuntu20.04·aarch64
seaside20035 个月前
ggml交叉编译安卓部署大模型
安卓·交叉编译·ggml
云川之下7 个月前
【网络】ICMP消息与ARPing详解
网络·icmp·arping