Не могу импортировать субмодуль

На 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 но сообщает, что символ foo можно найти в нем.

clang 5.0.2 ведет себя так же.

6.0.1-rc1 так же

Есть ли какие-либо проблемы, связанные с этим или сведения о том, что он еще не поддерживается?

0

Решение

Для импортных модулей или субмодулей clang 6 не везде работает идеально, clang 7 будет улучшен в будущем.

Вы можете попробовать установить -fmodules-cache-path=<your-cache-path> явно помечать, и вы можете видеть, что, если в сборке участвует какой-то модуль, clang будет заполнять предварительно скомпилированные файлы модуля (обычно *.pcm) к нему, когда он строит.

В документации clang 7 вы можете попрактиковаться Язык карты модуля создать свои собственные модули для включения некоторых заголовков и экспортировать их, а затем импортировать свои собственные модули. Как описано в документации, сейчас она не стабильна. Вам нужно попробовать.

По крайней мере, на данный момент вы можете использовать import std как временное решение.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector