build2:编译器不支持模块 我可以构建没有C++模块的C++项目,但是当我尝试用C++模块配置和使用Bu建2时,我就有了“编译器不支持模块”的错误。

build2:编译器不支持模块 我可以构建没有C++模块的C++项目,但是当我尝试用C++模块配置和使用Bu建2时,我就有了“编译器不支持模块”的错误。,c++,clang++,c++-modules,build2,C++,Clang++,C++ Modules,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-t

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

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
my 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中启用模块支持,我在root
buildfile
中添加了以下行:

cxx.std = experimental

using cxx

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

mxx{*}: extension = mxx
cxx{*}: extension = cxx
有什么不对劲?这是我第一次使用build2,所以我可能会错过一些非常简单的东西

设法使它工作起来


据我所知,问题是我更改了
buildfile
,但应该使用
build/root.build

我使用命令
bdep init-C../test clang@clang cc config.cxx=clang++
创建了配置,因此,据我所知,它应该使用clang++。但是如果你知道如何测试它,请告诉我。)我执行了
b-V
,看起来它将用我的clang++7编译。