我在这里看到了libpcap https://github.com/the-tcpdump-group/libpcap?files=1
我有arm linux的编译器。
如何将 libpcap 构建到文件
,以便我可以在项目中静态链接到该库?
我没有找到 Arm 的 MakeFile。
最佳答案
在 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
关于c - 如何为 Arm Linux 构建静态版本的 pcap 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60099817/