当前位置:网站首页>CMake 编译运行dpdk项目程序
CMake 编译运行dpdk项目程序
2022-08-10 00:02:00 【独正己身】
1 引言
dpdk20.11以及以后使用Pkg-Config维护它依赖库路径、头文件路径、编译选项、链接选项等信息,文件名后缀是.pc,方便第三方开发者便捷地获取相关信息 按官网流程安装完dpdk后发现/usr/loca/lib64中包含pkgconfig文件夹内包含libdpdk.pc
2 基本使用
vim /etc/profile
export PKG_CONFIG_PATH=/usr/loca/lib64/pkgconfig/
source /etc/profile
可以通过Linux的PkgConfig命令获取相关信息,如pkg-config --libs --cflags libdpdk
3 CMake中如何调用
CMake通过FindPkgConfig模块来使用获取相关信息,比较经典的写法是:
set(ENV{PKG_CONFIG_PATH} /usr/local/lib64/pkgconfig/)
find_package(PkgConfig)
pkg_search_module(LIBDPDK REQUIRED libdpck)
后面就可以通过SEASTARPC_LIBRARIES等方式获取相关编译选项和库名称等。
MESSAGE(STATUS ${LIBDPDK_LIBRARIES})
MESSAGE(STATUS ${LIBDPDK_INCLUDE_DIRS})
###输出如下
-- rte_noderte_graphrte_bpfrte_flow_classifyrte_pipelinerte_tablerte_portrte_fibrte_ipsecrte_vhostrte_stackrte_securityrte_schedrte_reorderrte_ribrte_regexdevrte_rawdevrte_pdumprte_powerrte_memberrte_lpmrte_latencystatsrte_knirte_jobstatsrte_ip_fragrte_gsorte_grorte_eventdevrte_efdrte_distributorrte_cryptodevrte_compressdevrte_cfgfilerte_bitratestatsrte_bbdevrte_aclrte_timerrte_hashrte_metricsrte_cmdlinerte_pcirte_ethdevrte_meterrte_netrte_mbufrte_mempoolrte_rcurte_ringrte_ealrte_telemetryrte_kvargs
-- /usr/local/include具体有哪些可以使用,可以参看CMake的FindPkgConfig模块使用.
4 后续链接
# 使用以下共享链接
target_compile_options (test_dpdk PRIVATE ${LIBDPDK_CFLAGS} )
target_link_libraries (test_dpdk ${LIBDPDK_LDFLAGS} )
# 或使用以下静态链接
target_compile_options (test_dpdk PRIVATE ${LIBDPDK_STATIC_CFLAGS} )
target_link_libraries (test_dpdk ${LIBDPDK_STATIC_LDFLAGS} )
边栏推荐
- Summary of basic operations of c language files
- When knowledge and action are one
- 有PEG-Biotin参与的(CAS:1778736-18-7)Biotin-PEG4-OH广泛用于分子靶点检测
- 头脑风暴:单词拆分
- CAS:183896-00-6 (Biotin-PEG3-C3-NH2) PEG衍生物
- Kubernetes YAML编写 讲解
- Win7怎么把控制面板添加到右键菜单
- 程序员从佩洛西窜访事件中可以学到什么?
- Fedora 36 dnf 安装ModSecurity和 OWASP 核心规则集
- [SUCTF 2019]CheckIn (.htaccess和.user.ini)
猜你喜欢

Why don't suggest you run in Docker Mysql?

《痞子衡嵌入式半月刊》 第 60 期

高校就业管理系统设计与实现

deepstream学习笔记(三):deepstream-imagedata-multistream解析与接入适配yolov5模型测试

生物素叠氮化物中的(CAS:1527486-16-3TAMRA-azide-PEG3-Biotin)反应的特点!

JVM Memory and Garbage Collection - 10. Direct Memory
Fedora 36 dnf 安装ModSecurity和 OWASP 核心规则集

flask——请求、响应、请求扩展、session、闪现、蓝图、g对象、flask-session

365天挑战LeetCode1000题——Day 052 逐步求和得到正数的最小值 贪心

服装店管理系统如何推送活动?
随机推荐
abicc 知:API compatibility report 介绍
Redis redisTemplate.execute 执行锁
Characteristics of the (CAS:1527486-16-3TAMRA-azide-PEG3-Biotin) reaction in biotin azide!
pyhton之问~~~~~if __name__ == ‘__main__‘:是什么?
02| operator
How to add control panel to right click menu in win7
天猫全网商品详情封装接口
-Vector Dot Product-
Solidity 智能合约入门
Involved in PEG-Biotin (CAS: 1778736-18-7) Biotin-PEG4-OH is widely used in molecular target detection
Leetcode80. 删除有序数组中的重复项 II
Kubernetes服务接入Istio
Docker 面试题2则--取数据库连接数和docker-compose
渗透测试与攻防对抗——漏洞扫描&逻辑漏洞(Part1)
Spark基础【RDD单Value类型转换算子】
Leetcode81. 搜索旋转排序数组 II
基于FPGA的任意字节数的串口接收(含源码工程)
技术分享 | 接口自动化测试如何处理 Header cookie
Why don't suggest you run in Docker Mysql?
宝塔实测-搭建LightPicture开源图床系统