[英]How can I get the c++20 std lib?
我如何获得 sys_seconds? 我在 Ubuntu 20.04 上使用 /usr/bin/c++ 来编译以下代码片段:
RCLCPP_WARN_STREAM(get_logger(), "Time: " << std::chrono::sys_seconds(time_.seconds()));
我收到以下错误:错误:“sys_seconds”不是“std::chrono”的成员;
c++ output 是:
c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
根据: https://en.cppreference.com/w/cpp/chrono/system_clock c++20 应该有一个命名空间 sys_seconds,根据https://en.cppreference.com/w/cpp/compiler_support c++ 9 支持 c++20。 但是当我检查文件 /usr/include/c++/9/chrono 时,我只看到 c++11 版本。 我通过在我的 CMakeLists.txt 中设置以下行来确保我正在使用 c++20 进行编译
set(CMAKE_CXX_STANDARD 20)
我怎样才能得到丢失的 c++20 标准库?
根据https://en.cppreference.com/w/cpp/compiler_support c++9 支持 c++20
这不是链接页面所说的。 在您的系统上,c++ 默认链接到 g++。 链接页面说一些C++20 功能在 GCC 9 中实现,而许多功能没有。
我怎样才能得到丢失的 c++20 标准库?
通过安装已实现该库的语言实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.