如何在cmake项目中使用c ++ 20

达马克尼

我想使用c ++ 20中可用的标头。

我正在使用最新的cmake版本。

我的CMakeFiles看起来像

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_BUILD_TYPE debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")

我正在使用clang 9作为我的编译器。

但是当包含时我得到以下错误:

fatal error: 'format' file not found
#include <format>

我也使用过标志-std=c++2a,没有效果。简而言之,我觉得我在这里错过了一些重要的事情。我对cmake有点陌生,有什么帮助吗?

如果

根据cppreference上C ++编译器支持页(archive),当前没有主流编译器支持C ++ 20<format>功能。

在此处输入图片说明

因此,您目前无法使用#include <format>考虑现在使用{fmt}库,该<format>库基于C ++ 20库。它以其高安全性和高效率而闻名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章