Как мне создать предварительно скомпилированные файлы для модулей и модулей заголовков с помощью gcc и make? ⇐ C++
-
Гость
Как мне создать предварительно скомпилированные файлы для модулей и модулей заголовков с помощью gcc и make?
Если у меня есть исходный файл типа
import ; импортировать ; импорт модА; интервал основной() {} как мне создать список зависимостей для предварительной компиляции всех модулей заголовков и , а также для модуля modA ?
Если я попытаюсь использовать опцию -MMD
/usr/local/bin/g++ -c -MMD -std=c++23 -fconcepts -fmodules-ts test400.cc Я понимаю
/usr/local/include/c++/14.0.0/iostream: ошибка: не удалось прочитать скомпилированный модуль: такого файла или каталога нет. /usr/local/include/c++/14.0.0/iostream: примечание: файл скомпилированного модуля — «gcm.cache/./usr/local/include/c++/14.0.0/iostream.gcm» /usr/local/include/c++/14.0.0/iostream: примечание: импорт должен быть построен перед импортом /usr/local/include/c++/14.0.0/iostream: фатальная ошибка: возвращение к воротам из-за механической проблемы Но добавление опции -MG тоже выдаёт ошибку:
/usr/local/bin/g++ -c -MMD -MG -std=c++23 -fconcepts -fmodules-ts test400.cc ошибка: «-MG» можно использовать только с «-M» или «-MM». Итак, похоже, я застрял.
Есть какие-нибудь подсказки?
Если у меня есть исходный файл типа
import ; импортировать ; импорт модА; интервал основной() {} как мне создать список зависимостей для предварительной компиляции всех модулей заголовков и , а также для модуля modA ?
Если я попытаюсь использовать опцию -MMD
/usr/local/bin/g++ -c -MMD -std=c++23 -fconcepts -fmodules-ts test400.cc Я понимаю
/usr/local/include/c++/14.0.0/iostream: ошибка: не удалось прочитать скомпилированный модуль: такого файла или каталога нет. /usr/local/include/c++/14.0.0/iostream: примечание: файл скомпилированного модуля — «gcm.cache/./usr/local/include/c++/14.0.0/iostream.gcm» /usr/local/include/c++/14.0.0/iostream: примечание: импорт должен быть построен перед импортом /usr/local/include/c++/14.0.0/iostream: фатальная ошибка: возвращение к воротам из-за механической проблемы Но добавление опции -MG тоже выдаёт ошибку:
/usr/local/bin/g++ -c -MMD -MG -std=c++23 -fconcepts -fmodules-ts test400.cc ошибка: «-MG» можно использовать только с «-M» или «-MM». Итак, похоже, я застрял.
Есть какие-нибудь подсказки?
Мобильная версия