在Visual Studio中使用任何C++编译器

原文发表时间: 3/07/2017
原文发表地址: Use any C++ Compiler with Visual Studio

微软Visual Studio 2017支持几种C++编译器以适应各种各样的代码库。除了很多人熟悉的微软Visual C++编译器外, Visual Studio2017还支持Clang, GCC以及其他针对某些平台的编辑器。

这篇文章旨在令您熟悉各种与Visual Studio IDE兼容的C++编译器,并且使您清楚什么情况下能适用于您的项目。一些编译器能更好的适应您的需要,这些具体取决于您的项目或者所针对的情况。或者,您可能更有兴趣去了解新的语言功能,比如在不需要离开IDE的情况下,在所有编译器上都不可用的C++概念

您可以在对C++ 项目的常规配置属性里,选择编译器和使用相应的”平台工具集“属性的工具集来生成项目。在”平台工具集”的下拉列表中会列出所有已安装的适用于您的项目类型的编译器。

微软C++编译器(MSVC)
如果您针对的是Windows系统, 微软C++编译器(MSVC)或许是一个好的选择。这是大多数Visual Studio C++项目的默认编译器。所以如果针对的是Windows,推荐使用这个

Clang
针对安卓,iOS, 和windows系统, 您可以使用Visual Studio的Clang编译器。

如果您针对的是安卓系统,您可以使用带有Andriod NDK和工具链的Clang/LLVM编译器来生成您的项目。同样的,针对iOS系统, Visual Studio可以在Mac上使用Clang来运行生成项目。”C++的移动开发“工作负载中包含对Andriod 和iOS的支持。您可以在标有关键字”安卓“和”iOS“的文章里查阅更多有关于安卓和iOS的详细信息。

如果您针对的是Windows系统,您有如下几个选项:

1. 使用Clang/LLVM; “Windows的Clang”包含了在Visual Studio中安装Clang/LLVM平台工具集的说明。
2. 针对Windows使用Clang的Clang/C2(Clang前端的微软代码生成)。

clang-c2-all-options

如果你想利用Clang在Windows平台的语言功能引入一个代码库,使用Clang/C2可能是有意义的。由于代码生成和优化处理是由MSVC后端处理的,由Clang/C2生成的二进制文件是完全符合由MSVC生成的二进制文件。您可以从微软代码生成的Clang —或者查阅我们最近更新的带有关键字”clang“的文章来了解更多关于Clang/C2的信息

GCC
如果您针对的是Linux或者安卓系统,您可以考虑使用GCC。如同Clang一样, Visual Studio的C++安卓开发也支持使用带有安卓NDK的GCC来生成项目。对于Linux — 无论是远程或本地的Linux Windows子系统, 都可以使用GCC.

如果您想了解更多的如何使用Visual Studio中的针对Linux的GCC, 请查阅我们在Visual C++的Linux开发上发布的文章。如果您对针对本地的WSL特别感兴趣,请查阅Visual Studio的WSL

Closing
Visual Studio 也使用了爱迪生设计组(EDG)前端,无论您使用的是MSVC, Clang或者GCC来生成您的代码, 都可以为您提供灵活的智能感知。在C++编译器上, Visual Studio给您提供了广泛的选择。通过这种方式,您可以确保在开发代码时,将继续对所有主要编译器进行编译。

现在安装Visual Studio试一试吧。 请让我们知道是否我们错过了你使用的任何编译器。同时可以分享您的反馈,我们期待着提升您的C++开发体验。