【问题标题】:Why isn't __clang__ defined when using LLVM+Clang in Visual Studio?为什么在 Visual Studio 中使用 LLVM+Clang 时没有定义 __clang__?
【发布时间】:2015-03-17 00:45:48
【问题描述】:

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

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

【问题讨论】:

  • 如果要检测 LLVM,请查看__llvm__。 Clang 是 GCC 的替代品,而 MSVC 工具集不是。
  • 我很确定__clang__ 也被定义了,至少这是我最后一次测试它。确保在_MSC_VER 之前检查__clang__
  • 在 Visual Studio 中使用平台工具集时,既未定义 __clang__ 也未定义 __llvm__。我从llvm.org/builds获得了工具集
  • 除了定义自己的 clang 之外,您是否找到过解决方案?我有类似的问题,但似乎我无法在我的环境中添加自定义定义。
  • @Silicomancer 即使我面临与你相同的问题,你能告诉我你是如何解决它的,即没有定义 clang

标签: c++ visual-studio clang llvm visual-studio-2015


【解决方案1】:

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

【讨论】:

  • 我想我现在可以使用它,因为此时我想知道这是否只是微软的疏忽。
猜你喜欢
  • 2012-12-28
  • 1970-01-01
  • 2013-10-31
  • 2018-08-19
  • 2020-05-25
  • 1970-01-01
  • 2017-03-05
  • 2020-11-13
  • 2014-06-23
相关资源
最近更新 更多