build2:编译器不支持模块

时间:2018-07-30 00:33:53

标签: c++ clang++ c++-modules build2

我可以使用build2来构建不包含c ++模块的c ++项目,但是当我尝试使用c ++模块配置并使用build2时,出现“编译器不支持模块”错误。

我确定我的编译器能够构建模块,因为我可以使用以下命令手动构建:

clang++ --std=c++17 -fmodules-ts --precompile foo.cppm -o foo.pcm
clang++ --std=c++17 -fmodules-ts --precompile foo2.cppm -o foo2.pcm
clang++ --std=c++17 -fmodules-ts -c foo.pcm -o foo.o
clang++ --std=c++17 -fmodules-ts -c foo2.pcm -o foo2.o
clang++ --std=c++17 -fmodules-ts -fprebuilt-module-path=. foo.o foo2.o bar.cpp

我的clang版本是7.0.0:

$ clang++ --version
clang version 7.0.0- (trunk)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

要在build2中启用模块支持,我在根buildfile中添加了以下几行:

cxx.std = experimental

using cxx

assert $cxx.features.modules 'compiler does not support modules'

mxx{*}: extension = mxx
cxx{*}: extension = cxx

有什么问题?这是我第一次使用build2,所以我可能会错过一些非常简单的东西。

1 个答案:

答案 0 :(得分:0)

管理它的工作。

据我了解,问题在于我更改了buildfile,但应该改用build/root.build