【发布时间】:2021-09-01 07:28:50
【问题描述】:
我有 3 个文件(foo.cppm、foo2.cppm 和 bar.cpp): enter image description here
foo2.cppm:
export module K;
export int sq(int x) {
return x * x;
}
foo.cppm:
export module M;
import K;
export int f(int x) {
return 2 + sq(x);
}
export double g(double y, int z) {
return y * z;
}
bar.cpp:
import M;
import K;
int main() {
sq(f(5));
g(0.0, 1);
return 0;
}
首先,我预编译了 foo2.cppm:
clang++ -fmodules-ts -std=c++20 --precompile foo2.cppm -o K.pcm
然后我尝试预编译 foo.cppm:
clang++ -fmodules-ts -std=c++20 --precompile foo.cppm -o M.pcm
我得到了错误:
foo.cppm:2:8: 致命错误:找不到模块“K”
Clang 版本:12.0.5
这里有什么问题?
【问题讨论】: