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目录下生成可执行文件
相关推荐
小向是个Der15 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
行者-全栈开发17 小时前
【鸿蒙心迹】三方库移植(一)——NAPI 把 C/C++ 库桥接到 ArkTS 的完整链路(HarmonyOS 7.x)
harmonyos·arkts·交叉编译·c/c++·napi·三方库移植
一直C1 个月前
ARM裸机开发Day04|IMX6ULL汇编&C点灯实操,Makefile、链接脚本、段解析
嵌入式硬件·imx6ull·交叉编译
k4m7v2pz2 个月前
交叉编译 Rust 到 aarch64 Linux 掌机:glibc 版本与 sysroot 重建的完整踩坑记录
rust·glibc·交叉编译·aarch64·zigbuild·sysroot
大鹏的NLP博客2 个月前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
k4m7v2pz2 个月前
Rust 程序在 ReactOS 上“加载即崩“:从崩溃地址 0x6107104d 到 CRT 依赖的深度排查
rust·交叉编译·逆向工程·reactos·pe格式·windows兼容
k4m7v2pz2 个月前
在Arch Linux笔记本上搭建ReactOS 0.4.15虚拟机:从Mac远程开发调试Windows XP风格应用的完整指南
qemu·虚拟机·kvm·交叉编译·mingw-w64·reactos
深念Y3 个月前
技术探索记录 在 Android 手机上运行 One API
android·linux·服务器·智能手机·go·交叉编译·服务
今天也想躺ping3 个月前
linux系统移植pjsua库实现sip通话功能
linux·sip·交叉编译
想你依然心痛4 个月前
Buildroot快速构建——根文件系统与内核裁剪实战
交叉编译·根文件系统·包管理·启动优化·busybox·buildroot·内核裁剪