如何使用 modules-ts 和 gcc(实验性)编译 C++ 代码?

Luc*_*ete 6 gcc g++

我一直在尝试使用将包含在 c++20 中的新实验功能“modules-ts”编写代码。我已经克隆了 gcc 分支(在此处找到:https : //gcc.gnu.org/wiki/cxx-modules),并且我正在尝试使用 modules-ts 来遵循该教程(在链接上),但是出现了 g++ 错误阻止我这样做:

g++:错误:无法识别的命令行选项“-fmodules-ts”

我试图查看 g++ 的版本,以确保它不是从另一个以前的版本读取的。答案是:

g++ (GCC) 10.0.0 20191029(实验性) 版权所有 (C) 2019 Free Software Foundation, Inc。这是免费软件;请参阅复制条件的来源。没有保修;甚至不是为了特定目的的适销性或适合性。

这是我尝试运行的命令:

g++ -fmodules-ts hello.cppm main.cpp

小智 5

Modules-ts 尚未合并到 GCC 的主分支中。您需要下载 GCC 的源代码并自行编译,有关更多说明,请参阅GCC 的安装指南。使用获取源

svn co svn://gcc.gnu.org/svn/gcc/branches/c++-modules SomeLocalDir
Run Code Online (Sandbox Code Playgroud)

代替

svn checkout svn://gcc.gnu.org/svn/gcc/trunk SomeLocalDir
Run Code Online (Sandbox Code Playgroud)

你会得到正确的版本。

编辑:为了澄清起见,在这个答案中,我假设 OP 没有编译正确的 GCC 版本,因为他的 gcc --version 中没有 svn 修订号。