Подтвердить что ты не робот

Как скомпилировать С++ для Windows с clang в Visual Studio 2015

Насколько я понимаю, Visual Studio 2015 поставляется с clang. Сначала я, хотя это было только для приложений Android и iOS, но, согласно этой статье, также должно быть возможно использовать интерфейс clang++ для Windows. Однако я не могу найти соответствующий вариант.

Итак, не могли бы вы объяснить мне, как я могу изменить используемый компилятор для clang в проекте С++ (в VS2015 RC Community Edition).

4b9b3361

Ответ 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/