DPDK 交叉编译
dpdk LTS版本从20.11之后不再使用makefile规则进行编译,使用meson和ninja进行编译,下面说明一下meson如何交叉编译dpdk
# 下载
wget https://fast.dpdk.org/rel/dpdk-20.11.10.tar.xz
# 解压
tar xf dpdk-20.11.10.tar.xz
cd dpdk-stable-20.11.10
# 参考dpdk目录下的config文件,以arm64_armv8_linux_gcc为例,根据实际情况指定编译器
# build为编译目录,可修改
meson build --cross-file=config/arm/arm64_armv8_linux_gcc
# 默认不会编译examples下的文件,添加编译选项-Dexamples,可编译examples目录下所有的应用程序,也可指定其中一个,如l2fwd
meson build -Dexamples=all --cross-file=config/arm/arm64_armv8_linux_gcc
meson build -Dexamples=l2fwd --cross-file=config/arm/arm64_armv8_linux_gcc
# 编译debug版本
meson build --buildtype=debug -Dexamples=all --cross-file=config/arm/arm64_armv8_linux_gcc
# 使用ninja进行编译
ninja -C build
# 多核并行编译
ninja -C build -j8
高版本dpdk需要搭配高版本编译器进行编译,否则会编译失败。