quick-bench测试fmt::format API报错及支持情况咨询
quick-bench对fmt库的默认支持情况
quick-bench的默认运行环境没有预装C++ fmt库,也没有默认配置fmt的编译链接依赖,因此直接引入fmt/core.h头文件会触发头文件缺失的编译错误,和报错信息描述的问题完全匹配,无法直接编译运行依赖fmt的基准测试代码。
可行的解决方案
可根据实际需求选择以下任意一种方案完成fmt相关的基准测试:
- 手动嵌入fmt的合并分发版本到测试代码
fmt官方提供了将所有源码合并为少数几个文件的amalgamated分发版本,将对应版本的fmt头文件、实现文件内容直接粘贴到quick-bench的测试工程中,不需要额外配置依赖即可完成编译运行。 - 直接使用Compiler Explorer自带的基准测试能力
无需跳转至quick-bench,Compiler Explorer本身已经集成了Google Benchmark框架和fmt库,只需要在平台的库配置面板中勾选添加fmt依赖,选择执行基准测试的功能入口,即可直接在页面内完成编译、运行、查看性能测试结果,不会出现依赖缺失问题。 - 本地搭建测试环境
如果需要更灵活的编译配置、更稳定的测试结果,可以在本地环境安装Google Benchmark和fmt库(支持通过系统包管理器、vcpkg、源码编译等多种方式安装),本地编译运行测试代码,测试过程不受云端平台的资源、配置限制,结果准确度更高。 - 选用支持自定义依赖的在线基准测试平台
部分在线C++运行平台支持通过包管理配置声明第三方依赖,只需要在配置中添加fmt的依赖声明,即可正常编译运行依赖fmt的基准测试代码。
内容的提问来源于stack exchange,提问作者user3003525
相关产品推荐
相关产品推荐

