据我所知,Visual Studio 2015附带了clang。首先我虽然这只适用于Android和iOS应用,但根据this article,也应该可以使用clang ++前端用于Windows程序。但是,我无法找到相应的选项。
那么请你解释一下,如何在c ++项目中更改用过的编译器(在VS2015 RC社区版中)。
答案 0 :(得分:25)
从VS2015 Update 1开始,您可以通过New Project窗口安装“Clang with Microsoft CodeGen”模板,浏览到Installed - >模板 - > Visual C ++ - >跨平台。
然后,您就可以在任何Windows C ++项目的属性页中选择带有Microsoft CodeGen v140_clang_3_7
Platform Toolset的Clang 3.7。
Clang具有一组完全不同的命令行选项,因此在使用v140_clang_3_7
工具集时,项目属性必须使用与Clang兼容的选项,可以将其识别为以{{1开头而不是-
。例如,“调试信息格式”属性设置为“完全调试信息(DWARF2)(/
)”,“启用C ++异常”属性设置为“是(-g2 -gdwarf-2
)”。
this blog post中有更多信息。
答案 1 :(得分:9)
据我所知,Clang和GCC都附带了适用于Visual Studio 2015的Android和iOS跨平台SDK /工具。
从我所看到的情况来看,它只允许我在拥有其中一个跨平台项目时选择它们。
使用GLES C ++应用程序的模板项目,您将获得以下选项:
对于Windows C ++应用程序,您将看到下面的对话框,您可以看到Windows目标平台是灰色且只读的,这意味着您可能为每个目标平台提供了一组工具包,但您根本无法更改它,至少现在(是。
不知道如何将正常的VS项目转换为跨平台,并且您可能只能使用第三方编译器开箱即用Android或iOS。
但是,有可能以与XP工具包相同的方式将Clang安装为另一个工具包。所以也许这只是一个摆弄它并让它可用的问题,因为它已经安装好了。
答案 2 :(得分:3)
在阅读了链接的帖子,特别是评论之后,我逐渐明白,这不是VS2015 RC附带的功能,而是可能的未来功能,例如可以在SP中运送,或者(更有可能)使用下一版本的VS。
正如sjdowling所提到的,目前你最接近的事情(2015年10月,第3.7条)是下载并安装llvm for windows。这应该为您提供LLVM-vs2014平台工具集选项。对我来说它适用于简单的测试程序,但显然这个版本的" clang-vs"似乎还不支持例外。但是,根据these notes,这个问题应该主要针对铿锵声3.8解决。
答案 3 :(得分:0)
虽然上述解决方案有效,但它们要求您安装clang,默认情况下在visual studio 2015安装中已关闭。接受的答案确实显示了如何安装它,尽管下一页将要求您关闭正在运行新项目的visual studio。
如果有人想知道如何安装clang,因为它没有出现在列表中,这是另一种解决方案:
https://blogs.msdn.microsoft.com/vcblog/2016/03/31/clang-with-microsoft-codegen-march-2016-released/