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目录下生成可执行文件
相关推荐
IT阳晨。1 天前
【QT开发】交叉编译QT程序在ARMLinux平台上运行
c++·qt·交叉编译·armlinux·代码移植
YouEmbedded20 天前
ARM开发板基础与文件传输
arm开发·vscode·交叉编译·mobaxterm
肖恭伟1 个月前
Qt Linux交叉编译字节数目不一样
交叉编译·long·32位·64位·字节长度·ulong·字节数目
NoirSeeker4 个月前
在windows平台上基于OpenHarmony sdk编译三方库并暴露给ArkTS使用(详细)
c++·windows·arkts·鸿蒙·交叉编译
花花少年5 个月前
Ubuntu系统下交叉编译openssl
openssl·交叉编译
有时有晌6 个月前
Qt 相关 编译流程及交叉编译 部署所遇到的问题总结-持续更新
qt·交叉编译·远端部署
今天阳光明媚吗6 个月前
Ubuntu 上进行树莓派交叉编译
linux·ubuntu·树莓派·交叉编译
却道天凉_好个秋9 个月前
c++ gcc工具链
c++·gcc·交叉编译·编译优化
花花少年9 个月前
【概念版】交叉编译相关介绍
arm·交叉编译
daqinzl10 个月前
ubuntu x64下交叉编译ffmpeg到目标架构为aarch架构的系统
ubuntu·ffmpeg·交叉编译·arm64 aarch64