对MSBuild项目的Clang/LLVM支持

VisualStudio2019版本16.2预览版3包含对MSBuild项目的内置Clang/LLVM支持。在我们上次发布的版本中, 我们宣布支持用于CMake的Clang/LLVM . 在visualstudio的最新预览中,我们已经扩展了对MSBuild项目的支持。虽然在大多数情况下,我们建议使用MSVC编译器,但我们致力于使visualstudio成为Windows上最全面的ide之一。如果您正在开发跨平台代码,尤其是当它已经依赖于Clang或GCC扩展时,您可能希望改用Clang。现在可以使用Clang/LLVM来使用MSBuild将Windows和Linux作为目标,就像使用CMake项目一样。我们还将Clang的附带版本更新到了8.0.0。拜托 下载最新预览 尝试一下,让我们知道它是如何工作的。

null

安装Visual Studio的Clang工具

您可以通过选择“Windows C++ C++工具”作为“桌面开发C++”工作负载的一部分来安装Windows的CLAN工具。默认情况下不会安装它,但是如果您以前安装过它,当您安装最新的预览版时,Clang将自动更新为8.0.0。

Install the “C++ Clang tools for Windows” component with the “Desktop development with C++” workload.

如果您想在Windows中使用自己的Clang编译器而不是捆绑的编译器,您也可以这样做。导航到“个别组件”并选择“C++Clang cl for v142 build tools”。不过,您只能在Microsoft STL中使用最新版本的Clang(8.0.0或更高版本)。我们强烈建议使用捆绑编译器,因为它将随着STL的更新而保持最新。

Or just install the tooling with “C++ Clang-cl for v142 build tools” under “Individual Components.”

要在Linux项目中使用Clang,只需安装“Linux开发”工作负载。您不需要再选择任何组件。远程机器或WSL需要安装Clang。只需从发行版的包管理器或 LLVM的下载页 .

对Windows MSBuild项目使用Clang

可以对大多数以Windows为目标的MSBuild项目使用Clang。要开始,创建一个新的C++项目或打开一个现有的项目。然后,您可以将平台工具集更改为“LLVM(clang cl)”: Select the “LLVM (clang-cl)” Platform Toolset under Configuration Properties > General.

如果此工具集未出现,则可能未安装-请参阅上面的安装说明。

visualstudio在Windows上使用带有MSBuild的clang cl前端,因此clang的属性将与基于MSVC的项目相同。clang cl不支持某些编译器选项(例如,仅我的代码),当您使用clang时,这些选项不会显示在属性页中。

在Linux MSBuild项目中使用Clang

在Linux项目中使用Clang也很简单,只需选择适当的平台工具集。对于Linux项目,有两个工具集可供选择。一个用于在本地计算机上对WSL实例使用Clang,另一个用于在远程计算机上使用Clang:

图片[4]-对MSBuild项目的Clang/LLVM支持-yiteyi-C++库

对于Linux项目,VisualStudio使用与ClangGCC兼容的前端。项目属性和几乎所有编译器标志都是相同的。

自定义Clang安装和编译器参数

您还可以使用Clang的自定义安装。在Windows上,默认情况下,将始终使用安装程序中内置的Clang版本。在Linux上,将使用在路径上找到的Clang的第一次安装。但是,您可以通过在项目文件中设置并定义属性来覆盖任一平台上的此行为:

<LLVMInstallDir>PATH_TO_LLVM</LLVMInstallDir>

为此,需要卸载项目并对其进行编辑。您可以将其添加到任何要使用您的自定义安装Clang的项目配置中。请记住,从本文开始,microsoftstl只与Clang:8.0.0的最新版本兼容。

如果需要使用项目属性页不支持的CLAN编译或链接标志,则可以在配置属性> C/C++或链接器>命令行中的项目属性中执行。如果你发现自己经常以这种方式使用某个特定选项,可以考虑打开一张反馈单。根据需要,我们可以添加到属性页。

向我们发送反馈

您的反馈是确保我们提供最佳体验的关键部分。  我们很想知道怎么做 Visual Studio 2019版本16.2预览版3 为你工作。 如果您发现任何问题或有任何建议,联系我们的最佳方式是 报告问题 .

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享