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

8
我安装了包含Clang和其他几个工具的Windows LLVM。它与Visual Studio集成,甚至让我在项目属性中选择“平台工具集”。然而,当我选择LLVM附带的任何工具集时,都没有定义__clang__,而是定义了_MSC_VER。当使用LLVM和Clang在Visual Studio中时,如何定义__clang__?
我的Visual Studio版本是2015 Preview(但我也在2013上进行了测试,没有成功),我的LLVM版本基于SVN发布225473。我尝试了LLVM-vs2012、LLVM-vs2013和LLVM-vs2014作为平台工具集,但都没有成功。

2
如果你想检测LLVM,请检查__llvm__。Clang是GCC的替代品,而MSVC工具集则不是。 - n. m.
1
我非常确定__clang__也被定义了,至少上次我测试时是这样的。确保在检查_MSC_VER之前先检查__clang__ - Thomas
1
在使用Visual Studio中的平台工具集时,__clang____llvm__都没有定义。我从http://llvm.org/builds获取了该工具集。 - Adrian Collado
没有,我没有找到解决方案。 - Silicomancer
除了自己定义,我也没有想出其他的解决方法。 - Adrian Collado
显示剩余3条评论
1个回答

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

1
我想现在可以使用这个,因为此时我在想这是否只是微软疏忽的问题。 - Adrian Collado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接