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目录下生成可执行文件
相关推荐
k4m7v2pz6 天前
交叉编译 Rust 到 aarch64 Linux 掌机:glibc 版本与 sysroot 重建的完整踩坑记录
rust·glibc·交叉编译·aarch64·zigbuild·sysroot
大鹏的NLP博客15 天前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
k4m7v2pz20 天前
Rust 程序在 ReactOS 上“加载即崩“:从崩溃地址 0x6107104d 到 CRT 依赖的深度排查
rust·交叉编译·逆向工程·reactos·pe格式·windows兼容
k4m7v2pz20 天前
在Arch Linux笔记本上搭建ReactOS 0.4.15虚拟机:从Mac远程开发调试Windows XP风格应用的完整指南
qemu·虚拟机·kvm·交叉编译·mingw-w64·reactos
深念Y1 个月前
技术探索记录 在 Android 手机上运行 One API
android·linux·服务器·智能手机·go·交叉编译·服务
今天也想躺ping2 个月前
linux系统移植pjsua库实现sip通话功能
linux·sip·交叉编译
想你依然心痛2 个月前
Buildroot快速构建——根文件系统与内核裁剪实战
交叉编译·根文件系统·包管理·启动优化·busybox·buildroot·内核裁剪
花花少年3 个月前
Ubuntu系统下交叉编译gpac
交叉编译·gpac
nnnnichijou3 个月前
Qt 6.9 嵌入式 Linux 交叉编译全栈填坑指南(以树莓派5 AArch64 为例
qt·嵌入式·交叉编译·qml·树莓派5
jrrz08284 个月前
Apollo OSQP库交叉编译
vscode·apollo·交叉编译·mpc·osqp