无法导入子模块

时间:2018-06-01 14:29:33

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

404 not found上,我无法导入clang version 6.0.0 (tags/RELEASE_600/final)std子模块。整个std.vector工作正常,但import std没有。我正在使用import std.vector模块映射来正确定义此模块。

修改

自定义模块映射

存在同样的问题
libc++

无法加载模块module test { explicit module sub { header "test.hpp" export * } } ,但报告可以在其中找到符号test.sub

编辑2

foo的行为方式相同。

编辑3

clang 5.0.2相同

是否有任何问题与该信息有关或尚未得到支持?

1 个答案:

答案 0 :(得分:0)

对于导入模块或子模块,clang 6在任何地方都不能完美运行,clang 7将来会有所改进。

您可以尝试显式设置-fmodules-cache-path=<your-cache-path>标志,您可以看到,如果构建涉及某个模块,则clang会将预编译的模块文件(通常为*.pcm)填充到其中当它建立时。

在clang 7文档中,您可以练习Module Map Language创建自己的模块以包含一些标题并导出它们,然后导入您自己的模块。如文档所述,它现在不稳定。你需要试试。

至少目前您可以使用import std作为临时解决方法。