如何在cmake项目中使用c++20
how to use c++20 in cmake project
我想使用 c++20 中可用的 header。
我使用的是最新版本的 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++ compiler support page (archive),none 的主流编译器目前支持 C++20 <format>
功能。
因此,您目前无法使用 #include <format>
。现在考虑使用 {fmt} 库,C++20 <format>
库基于它。以安全高效着称。
我想使用 c++20 中可用的 header。
我使用的是最新版本的 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++ compiler support page (archive),none 的主流编译器目前支持 C++20 <format>
功能。
因此,您目前无法使用 #include <format>
。现在考虑使用 {fmt} 库,C++20 <format>
库基于它。以安全高效着称。