Что означает командная строка в стиле MSVC при использовании компилятора Clang в Windows?C++

Программы на C++. Форум разработчиков
Anonymous
Что означает командная строка в стиле MSVC при использовании компилятора Clang в Windows?

Сообщение Anonymous »

Итак, я установил инструменты Clang в Visual Studio для Windows, и это позволяет мне использовать компилятор Clang в Visual Studio. В моем CMake я установил для аргумента цепочки инструментов значение «ClangCL», и он удобно настраивает его в решении Visual Studio. Проблема в том, что, будучи компилятором Clang, я думал, что могу передать ему флаги компилятора Clang, например: Чтобы использовать 4 потока для компиляции. Однако при компиляции я получаю предупреждение о том, что оно не распознано. Затем я заметил, когда настраиваю свой CMake:
Выбираю версию Windows SDK 10.0.22621.0 для целевой Windows 10.0.19045.
Идентификация компилятора CXX — Clang 17.0.3 с MSVC- как командная строка
Компилятор C идентифицируется как Clang 17.0.3 с командной строкой, подобной MSVC
Поэтому я думаю, именно поэтому он не распознает этот флаг, или я думаю какой-нибудь из флагов Clang? Что означает MSVC-подобная командная строка? Означает ли это, что я не могу использовать обычные флаги Clang? Какие из них я должен использовать? Как это вообще работает? Предположим, я должен передать ему флаги MSVC, это компилятор Clang, как он распознает эти флаги? Что, черт возьми, происходит?

Подробнее здесь: https://stackoverflow.com/questions/787 ... on-windows

Вернуться в «C++»