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目录下生成可执行文件
相关推荐
却道天凉_好个秋5 天前
c++ gcc工具链
c++·gcc·交叉编译·编译优化
花花少年22 天前
【概念版】交叉编译相关介绍
arm·交叉编译
daqinzl25 天前
ubuntu x64下交叉编译ffmpeg到目标架构为aarch架构的系统
ubuntu·ffmpeg·交叉编译·arm64 aarch64
仰望星(兴)空2 个月前
使用Clion在ubuntu上进行交叉编译,并在Linux上远程编译五子棋
linux·ubuntu·交叉编译·clion
落寞书生2 个月前
在centos 7.9上面安装mingw交叉编译工具
后端·交叉编译·c++开发·mingw安装
顾建安2 个月前
使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件
rust·交叉编译·arm64·静态编译
初级代码游戏4 个月前
NGINX 交叉编译 arm32
运维·nginx·交叉编译·arm32
七月的和弦5 个月前
交叉编译Python3.8
开发语言·python·交叉编译
初级代码游戏6 个月前
国密起步5:GmSSL3交叉编译arm64
arm·国密·交叉编译·gmssl·aarch64
Hali_Botebie6 个月前
nvidia jetson 系列开发板交叉编译方法,CUDA依赖程序
交叉编译