Включить C++ Модули TS в clang-cl

Я использую Clang (от LLVM версии 7.00) на Windows через clang-cl,

Я пытаюсь заставить работать модули C++. Я пробовал аргументы командной строки clang -fmodules-ts а также -fmodules,

Я также попробовал msvc аргументы командной строки (которые работают под MSVC - я использую 15.8.5) /experimental:module /module:interface (что было бы нормальным способом для неэкспериментальных вариантов).

Все опции приводят к ошибке clang-cl.exe: warning: unknown argument ignored in clang-cl,

Кто-нибудь знает, возможно ли использовать модули C++ TS под clang-cl?

1 ответ

Решение

Использовать опцию-Xclang, как это:

clang-cl -Xclang -fmodules

Чтобы включить поддержку модулей C++, вам понадобится последняя версия clang 10.0 (подозреваю, что да), которую можно загрузить с этого URL-адреса в качестве последней сборки моментального снимка:

https://llvm.org/builds/

С Visual Studio 2019 / windows - проверьте следующий репозиторий git:

git clone https://github.com/NTSFka/CMakeCxxModules.git

Откройте папку с Visual Studio 2019, выбрав Конфигурация> Управляемые конфигурации.

Добавьте конфигурацию x64-CLang-Debug, выберите ее.

Установите флажок "Показать дополнительные переменные" и в CMAKE_C_COMPILER Выбрать

C:/Program Files/LLVM/bin/clang.exe

и из CMAKE_CXX_COMPILER Выбрать

C:/Program Files/LLVM/bin/clang++.exe

Скомпилируйте программу.

То, что я тестировал сам, intellisense работает, но все же некоторый текст отображается красным цветом (vs2019, 16.3.7), ситуация может измениться с обновлениями Visual Studio.

Другие вопросы по тегам