为什么在 Visual Studio 中使用 LLVM+Clang 时没有定义 __clang__?

Why isn't __clang__ defined when using LLVM+Clang in Visual Studio?

我为 Windows 安装了 LLVM,其中包括 Clang 和一些其他工具。它与 Visual Studio 集成,甚至让我在项目属性中选择一个 "Platform Toolset"。但是,当我选择 LLVM 附带的任何工具集时,未定义 __clang__,而是定义了 _MSC_VER。在 Visual Studio 中使用 LLVM 和 Clang 时如何定义 __clang__

我的 Visual Studio 版本是 2015 预览版(不过我也在 2013 年测试过,但也没有成功),我的 LLVM 版本基于 SVN 版本 225473。我试过 LLVM-vs2012LLVM-vs2013LLVM-vs2014 作为平台工具集但没有成功。

在项目属性 -> C/C++ -> 预处理器 -> 预处理器定义下,添加 __clang__。是的,这只是一种解决方法。