代码之家  ›  专栏  ›  技术社区  ›  Hello Hello

如何在GNU GCC上启用c++23?

  •  0
  • Hello Hello  · 技术社区  · 1 年前

    我想运行这个hello world程序,它需要C++23

    import std;
    
    int main()
    {
        std::cout << "Hello, World!\n";
    }
    

    我在mac上,把这个输入终端:

    g++-13 -std=c++2b hello_world.cpp -o hello

    也尝试过 -std=c++23

    然而,它给出了错误:

    C++20“import”仅与“-fmodule ts”一起使用,但尚未提供 使用'-std=c++20'启用

    为什么它仍然在C++20上?

    1 回复  |  直到 1 年前
        1
  •  4
  •   ChrisMM    1 年前

    您需要使用它指定的开关才能使用模块。这并不是说它试图使用C++20,而是模块没有得到完全支持。您的C++23开关是正确的,因此它将使用C++23。

    您可以在此处查看状态: https://gcc.gnu.org/projects/cxx-status.html#cxx20 其状态为“(requires-fmodules ts)”

    但是,也要注意g++还不支持标准库的模块。请在此处查看状态: https://en.cppreference.com/w/cpp/compiler_support#cpp23

    推荐文章