Как собрать clang compiler-rt в Windows, связанный с динамической средой выполнения Visual C++?

Я хочу использовать clang-cl с адресными дезинфицирующими средствами в Windows. При попытке использовать предварительно собранные пакеты llvm/clang от официальных установщиков, я получаю ошибки компоновщика, потому что моему приложению нужна ссылка на динамический CRT (/MD) вместо статического CRT (/MT, пакеты в установщиках llvm/clang имеют компилятор -трит построен с этим).

Я хочу использовать это с Qt, потому что мне не удалось собрать сам Qt с /MT .

Согласно этим слайдам от инженера Google, возможно создание компилятора -rt/asan с /MT .

Что я должен изменить по сравнению с этими инструкциями при сборке llvm/clang для сборки compiler-rt с /MT?

1 ответ

Решение

Оказывается, у моих ошибок компоновщика была другая причина.

Чтобы найти необходимые библиотеки, создайте небольшое приложение hello-world с помощью следующей команды, проверьте получившуюся команду компоновщика и явным образом свяжитесь с необходимыми библиотеками:

clang-cl -v -fsanitize=address /MD test.cpp

PR35343 (в настоящее время не решен) о поддержке автоматического связывания библиотек sanitizer в lld-link, как это делается на других платформах.

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