如何为Arm Linux构建pcap库的静态版本

问题描述 投票:0回答:1

我在这里看到libpcap https://github.com/the-tcpdump-group/libpcap?files=1

我有用于arm linux的编译器。

如何将libpcap构建为a file,以便可以在我的项目中静态链接到此lib?

我没有找到用于Arm的MakeFile。

c linux arm cross-compiling libpcap
1个回答
0
投票

在Ubuntu 16.04 86_64或更高版本上,假设安装了bison和flex,并且下载了gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz并将其解压缩到/opt目录中,则从头开始交叉编译最新版本的可能过程为:

wget https://github.com/the-tcpdump-group/libpcap/archive/libpcap-1.9.1.tar.gz
tar zxf libpcap-1.9.1.tar.gz
cd libpcap-libpcap-1.9.1
CROSS_COMPILE=/opt/arm/9/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- CC=${CROSS_COMPILE}gcc ./configure --host=arm-none-linux-gnueabihf --prefix=$(pwd)/libpcap-1.9.1-arm-none-linux-gnueabihf
CROSS_COMPILE=/opt/arm/9/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- CC=${CROSS_COMPILE}gcc make install

库和包含文件将安装在libpcap-libpcap-1.9.1/libpcap-1.9.1-arm-none-linux-gnueabihf

ls -gG  -a libpcap-1.9.1-arm-none-linux-gnueabihf/include libpcap-1.9.1-arm-none-linux-gnueabihf/lib
libpcap-1.9.1-arm-none-linux-gnueabihf/include:
total 24
drwxr-xr-x 3 4096 Feb  6 13:07 .
drwxrwxr-x 6 4096 Feb  6 13:07 ..
drwxr-xr-x 2 4096 Feb  6 13:07 pcap
-rw-r--r-- 1 2294 Feb  6 13:07 pcap-bpf.h
-rw-r--r-- 1 2226 Feb  6 13:07 pcap.h
-rw-r--r-- 1 2024 Feb  6 13:07 pcap-namedb.h

libpcap-1.9.1-arm-none-linux-gnueabihf/lib:
total 2108
drwxr-xr-x 3    4096 Feb  6 13:07 .
drwxrwxr-x 6    4096 Feb  6 13:07 ..
-rw-r--r-- 1 1199090 Feb  6 13:07 libpcap.a
lrwxrwxrwx 1      12 Feb  6 13:07 libpcap.so -> libpcap.so.1
lrwxrwxrwx 1      16 Feb  6 13:07 libpcap.so.1 -> libpcap.so.1.9.1
-rwxr-xr-x 1  942752 Feb  6 13:07 libpcap.so.1.9.1
drwxr-xr-x 2    4096 Feb  6 13:07 pkgconfig

我希望这会有所帮助。

仅此而已:可以使用以下方法安装Flex和Bison:

sudo apt-get install flex bison
© www.soinside.com 2019 - 2024. All rights reserved.