为什么在带有 gcc 5 的 macos Mojave 10.14 中缺少 charconv header?

Why is charconv header missing in macosx Mojave 10.14 with gcc5?

我正在尝试用 C++ 进行一些非常快速的转换,charconv 似乎是可行的方法,因为它使用了非常低级的逻辑。问题是,当我尝试包含此 header 然后调用 std::to_chars(...) 时,找不到 header,std 也没有 'to_chars'成员。我更新并重新安装了 gcc,但这个问题仍然存在。现在我看到一些线程说我应该以某种方式更新 libc++17,但它们对我应该做什么不是很具体,因为 MacOS 的情况有点不同。

一些代码来说明库及其用途:

#include <iostream>
#include <typeinfo>

#include <charconv> //error: 'charconv' file not found

struct to_chars_result{
   char *str;
   std::errc err;
};


int main(int argc, const char * argv[]) {
    std::string str("12Test");

    auto result = std::to_chars(str.data(), str.data()+str.size(), 12345); //No
     //member named 'to_chars' in namespace 'std'.


    return 0;
}

至于 gcc -v 命令输出:

COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin14.4.0/5.1.0/lto- wrapper Ziel: x86_64-apple-darwin14.4.0 Konfiguriert mit: ../gcc-5.1.0/configure --enable-languages=c++,fortran Thread-Modell: posix gcc-Version 5.1.0 (GCC)

感谢任何帮助!

gcc 5.1 于 2015 年 4 月 22 日发布。

to_chars添加到C++17标准的论文写于2016年。

为什么你认为 gcc5 会实现它?

[后来:那篇论文也加了<charconv>header