Как скомпилировать С++ для Windows с clang в Visual Studio 2015
Насколько я понимаю, Visual Studio 2015 поставляется с clang. Сначала я, хотя это было только для приложений Android и iOS, но, согласно этой статье, также должно быть возможно использовать интерфейс clang++ для Windows. Однако я не могу найти соответствующий вариант.
Итак, не могли бы вы объяснить мне, как я могу изменить используемый компилятор для clang в проекте С++ (в VS2015 RC Community Edition).
Ответы
Ответ 1
Начиная с VS2015 Update 1, вы можете установить шаблон "Clang with Microsoft CodeGen" через окно "Новый проект", перейдите в "Установлено" → "Шаблоны" → "Visual C++ ->" Кроссплатформенность ".
После этого вы сможете выбрать Clang 3.7 с помощью набора v140_clang_3_7
платформы Microsoft CodeGen v140_clang_3_7
на странице свойств любого проекта Windows C++.
Clang имеет совершенно другой набор параметров командной строки, которые он распознает, поэтому при использовании v140_clang_3_7
инструментов v140_clang_3_7
свойства проекта должны использовать Clang-совместимые параметры, которые могут распознаваться как начинающиеся с -
вместо /
. Например, для свойства "Формат информации об отладке" задано значение "Полная информация об отладке (DWARF2) (-g2 -gdwarf-2
)", а для свойства "Разрешить исключения C++" установлено значение "Да (-fexceptions
)".
Там больше информации в этом блоге.
![screenshot of the new project window]()
Ответ 2
Насколько я понимаю, и Clang, и GCC поставляются с кроссплатформенными SDK/инструментами для Android и iOS для Visual Studio 2015.
Из того, что я видел, это позволяет мне выбирать только те, у кого есть один из этих кроссплатформенных проектов.
Используя шаблон проекта для приложения GLES C++, вы получаете следующие опции:
![enter image description here]()
В то время как для приложения Windows C++ вы видите диалоговое окно ниже, где вы можете видеть, что целевая платформа Windows неактивна и доступна только для чтения, что означает, что у вас, вероятно, есть наборы инструментов для каждой целевой платформы, но вы просто не можете изменить ее, в хотя бы пока. ![enter image description here]()
Понятия не имею, как превратить обычный проект VS в кроссплатформенный, и вполне вероятно, что вы можете ориентировать Android или iOS только из коробки, используя сторонние компиляторы.
Однако может быть возможно установить Clang в качестве другого инструментария таким же образом, как и инструментарий XP. Так что, возможно, просто кто-то возится с ним и делает его доступным, поскольку он уже установлен.
Предостережение: Этот ответ относится к обновлению 1 до VS2015, в котором не было опции "Ловить с Microsoft CodeGen".
Ответ 3
После прочтения связанного сообщения и особенно комментариев снова я понял, что это не функция, поставляемая с VS2015 RC, а возможная будущая функция, которая может, например, быть отправлен в SP или (более вероятно) со следующей версией VS.
Как упоминалось sjdowling, самое близкое, что вы можете сделать в данный момент (октябрь 2015 г., clang 3.7) - загрузить и установить llvm для windows. Это должно предоставить вам набор инструментов LLVM-vs2014. Для меня это работает для простых тестовых программ, но, по-видимому, эта версия "clang-vs", похоже, еще не поддерживает исключения. Однако, согласно эти примечания, эта проблема должна быть в основном решена для clang 3.8.
Ответ 4
В то время как вышеупомянутые решения работают, они требуют, чтобы вы установили clang, который по умолчанию отключен в установке visual studio 2015. Принятый ответ показывает, как его установить, хотя на следующей странице вы попросите закрыть визуальную студию, из которой вы запускаете новый проект.
Если кто-то задается вопросом, как установить clang, потому что он не отображается в их списке, это другое решение:
- Панель управления- > Программы- > Программы и функции.
- Щелкните правой кнопкой мыши на "Microsoft Visual Studio Enterprise 2015" (или
"Microsoft Visual
- Studio 15 Preview ", если у вас есть предварительный просмотр следующей версии
Visual Studio)
- Нажмите "Изменить"
- Нажмите "Изменить"
- Выберите "Clang with Microsoft CodeGen" - выпуск в марте 2016 года.
https://blogs.msdn.microsoft.com/vcblog/2016/03/31/clang-with-microsoft-codegen-march-2016-released/