Linux下交叉编译LibPCap

Linux下交叉编译LibPCap

下载交叉编译工具链

根据客户需要,下载的交叉编译工具链是 gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu

去官网下载

官网下载链接

解压设置环境变量

输入指令进行解压操作

tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu

进入到解压后的目录

cd gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/

进入到bin目录

cd bin/

打印当前路劲,方便复制到环境变量

pwd

例如我得到的路径如下(根据自己的实际路径来)

/home/pier/RY/Cross_Complier/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

复制路径到剪切板,输入指令打开环境变量配置文件(不习惯使用vim可以换成gedit)

sudo vim /etc/profile

输入密码确认后,打开文件,按i键进入编辑模式,在文件的末尾增加环境变量声明

export PATH=$PATH:/home/pier/RY/Cross_Complier/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

输入完成后按ESC键,从编辑模式转换成命令模式,按冒号键输入wq回车保存,然后输入使用source指令让它生效

source /etc/profile

在终端输入版本查询指令,如果出来如下表明成功

pier@ubuntu:~$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/pier/RY/Cross_Complier/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/7.5.0/lto-wrapper
Target: aarch64-linux-gnu
Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release_0/snapshots/gcc.git~linaro-7.5-2019.12/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --with-system-zlib --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/sysroots/aarch64-linux-gnu --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 7.5.0 (Linaro GCC 7.5-2019.12) 
pier@ubuntu:~$ 

Tips: 每次打开终端最好都source /etc/profile一下 ,除非已经能打印aarch64-linux-gnu-gcc -v出来版本号了,有时候关闭终端再次打开,环境变量就失效了,要再次source一下才行。

下载libPCap源码包

蓝奏云盘下载 (推荐)

[官网下载](GitHub - the-tcpdump-group/libpcap: the LIBpcap interface to various kernel packet capture mechanism) (github很慢,且更新后不是我使用的这一版本了)

解压libPCap源码

输入解压指令

tar -xvf libpcap-1.10.1.tar.gz

进入到解压后的目录

cd libpcap-1.10.1

输入脚本配置指令

sudo ./configure CC=/home/pier/RY/Cross_Complier/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc --prefix=/home/pier/RY/Cross_env/libpcap-1.10.1-0/lib/aarch64-linux-gnu-7.5.0 --host=aarch64-linux-gnu --with-pcap=linux

CC=交叉编译链gcc的绝对位置,–prefix=后面接想要生成在那个目录下, --host为交叉编译链的前面部分(去掉-gcc之后的部分)

输入make编译指令

sudo make

输入make install生成指令

make install

至此编译完成,可以到指定的目录下找到库文件和头文件

我的库文件位置 /home/pier/RY/Cross_env/libpcap-1.10.1-0/lib/aarch64-linux-gnu-7.5.0/lib

我的头文件位置 /home/pier/RY/Cross_env/libpcap-1.10.1-0/lib/aarch64-linux-gnu-7.5.0/include

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一去二里地

从不会有人打赏的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值