一、dpdk
dpdk编译默认是静态库,要编译成动态库的话需要修改:dpdk/config/common_base中的CONFIG_RTE_BUILD_SHARED_LIB=y,编译成功后会出现libdpdk.so
二、mtcp
可能会出现如下错误:
1、error: converting a packed ‘const struct ether_addr’
修改./mtcp/src/Makefile中CFLAGS+=-g -O2 -Wno-address-of-packed-member
2、undefined reference to eal_proc_type_detect'
修改./dpdk/lib/librte_eal/rte_eal_version.map,在DPDK_2.0中增加eal_proc_type_detect;此时需要重新编译dpdk
没有任何错误后,执行gcc -shared -o libmtcp.so mtcp/src/*.o
三、github上有编译好的
https://github.com/winstonli/JmTCP.git项目的JmTCP\lib路径下有编译好可以直接用的动态库
编译dpdk和mtcp动态库
最新推荐文章于 2024-10-31 15:01:09 发布
本文档详细介绍了如何将DPDK从静态库编译为动态库,并解决了mtcp编译过程中遇到的两个常见错误:packed结构转换问题和undefined引用。编译完成后,提供了预编译库的GitHub资源链接。
1221

被折叠的 条评论
为什么被折叠?



