如何在Visual Studio 2015中用clang编译C ++ for Windows

据我所知,Visual Studio 2015是与铛发货。 首先,虽然这只适用于Android和iOS应用程序,但是根据本文 ,应该也可以使用Windows程序的clang ++前端。 但是,我找不到相应的选项。

所以,你可以请我解释一下,我怎样才能改变使用的编译器在C ++项目(在VS2015 RC社区版)叮当响。

从VS2015 Update 1开始,您可以通过New Project窗口安装“Clang with Microsoft CodeGen”模板,浏览到Installed – > Templates – > Visual C ++ – > Cross Platform。

然后,您可以在任何Windows C ++项目的属性页中select带有Microsoft CodeGen v140_clang_3_7平台工具集的Clang 3.7。

Clang有一个完全不同的命令行选项,它可以识别,所以当使用v140_clang_3_7工具集时,项目属性必须使用与Clang兼容的选项,它可以被识别为以-开头而不是/ 。 例如,将“debugging信息格式”属性设置为“完整debugging信息(DWARF2)(- -g2 -gdwarf-2 )”,并将“启用C ++exception”属性设置为“是( -fexceptions )”。

这篇博文有更多的信息。

新项目窗口的截图

据我了解,Clang和GCC都附带了适用于Visual Studio 2015的Android和iOS跨平台SDK /工具。

从我看到的只允许我select那些跨平台项目。

使用GLES C ++应用程序的模板项目,您可以获得以下选项:

在这里输入图像说明

而对于Windows C ++应用程序,您会看到下面的对话框,您可以在其中看到Windows目标平台呈灰色并且是只读的,这意味着您可能为每个目标平台都有一套工具包,但是您根本无法更改它,至less现在。 在这里输入图像说明

不知道如何将一个正常的VS项目变成跨平台,而且很可能你只能使用第三方编译器来开发Android或iOS版本。

不过,也可以将Clang作为另一个工具包安装,就像XP工具包一样。 所以也许这只是一个人摆弄它,并使之可用,因为它已经安装。

在阅读了链接的文章,尤其是评论之后,我了解到,这不是VS2015 RC附带的function,但是可能有未来的function,例如可能在SP或更可能的下一版本VS.

正如sjdowling所提到的,您目前可以做的最接近的事情是(2015年10月,3.7版),下载并安装llvm for windows 。 这应该给你一个LLVM-vs2014平台工具集选项。 对我来说,它适用于简单的testing程序,但显然这个版本的“铿锵vs”似乎还不支持exception。 但是,根据这些说明 ,这个问题应该基本上解决3.8。

虽然上述解决scheme的工作,他们需要你已经安装在Visual Studio 2015安装默认closures铛。 接受的答案确实显示了如何安装它,虽然下一页会要求您closures正在运行新项目的Visual Studio。

如果有人想知道如何安装clang,因为它没有出现在他们的列表中是另一种解决scheme:

  1. 控制面板 – >程序 – >程序和function。
  2. 右键单击“Microsoft Visual Studio Enterprise 2015”(或“Microsoft Visual
  3. Studio 15 Preview“如果您已经安装了Visual Studio的下一个版本的预览版)
  4. 点击“更改”
  5. 点击“修改”
  6. select“Clang with Microsoft CodeGen” – 2016年3月发行。

https://blogs.msdn.microsoft.com/vcblog/2016/03/31/clang-with-microsoft-codegen-march-2016-released/