繁体   English   中英

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

[英]How to compile C++ for Windows with clang in Visual Studio 2015

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

那么请你解释一下,如何在c ++项目中改变用过的编译器(在VS2015 RC社区版中)。

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

然后,您可以在任何Windows C ++项目的属性页中选择带有Microsoft CodeGen v140_clang_3_7 Platform Toolset的Clang 3.7。

Clang具有一组完全不同的命令行选项,因此在使用v140_clang_3_7工具集时,项目属性必须使用Clang兼容选项,可以将其识别为-而不是/ 例如,“调试信息格式”属性设置为“完全调试信息(DWARF2)( - -g2 -gdwarf-2 )”,“启用C ++异常”属性设置为“是( -fexceptions )”。

这篇博客文章中有更多信息。

新项目窗口的屏幕截图

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

从我所看到的,它只允许我在拥有其中一个跨平台项目的时候选择它们。

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

在此输入图像描述

对于Windows C ++应用程序,您可以在下面的对话框中看到Windows目标平台是灰色的并且是只读的,这意味着您可能为每个目标平台提供了一组工具包,但您根本无法更改它,至少对于现在。 在此输入图像描述

不知道你如何将一个普通的VS项目变成跨平台,而且很可能你只能使用第三方编译器开箱即用Android或iOS。

但是,有可能以与XP工具包相同的方式将Clang安装为另一个工具包。 所以也许这只是一个摆弄它并让它可用的问题,因为它已经安装好了。

警告: 这个答案是VS2015之前的更新1,它没有“Clang with Microsoft CodeGen”选项。

在阅读了链接的帖子,特别是评论之后,我逐渐明白,这不是VS2015 RC附带的功能,而是可能的未来功能,可能会在SP中发布,或者(更有可能)下一个版本的VS.

正如sjdowling所提到的,你现在最接近的事情(2015年10月,clang 3.7)是下载并安装llvm for windows 这应该为您提供LLVM-vs2014平台工具集选项。 对我来说它适用于简单的测试程序,但显然这个版本的“clang-vs”似乎还不支持异常。 但是,根据这些说明 ,这个问题应该主要针对铿锵声3.8解决。

虽然上述解决方案有效,但它们要求您安装clang,默认情况下在visual studio 2015安装中已关闭。 接受的答案确实显示了如何安装它,虽然下一页将要求您关闭您正在运行新项目的visual studio。

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

  1. 控制面板 - >程序 - >程序和功能。
  2. 右键单击“Microsoft Visual Studio Enterprise 2015”(或“Microsoft Visual
  3. Studio 15预览“如果您预览了安装的Visual Studio的下一个版本”
  4. 点击“更改”
  5. 点击“修改”
  6. 选择“Clang with Microsoft CodeGen” - 2016年3月发布。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM