2

C++ モジュールなしで build2 を使用して 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 でモジュールのサポートを有効にするために、次の行を root に追加しましたbuildfile

cxx.std = experimental

using cxx

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

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

何が間違っている可能性がありますか?build2 を使用するのは初めてなので、非常に単純なものが欠けている可能性があります。

4

1 に答える 1