我使用VS2013构建了clang,然后使用-v选项(clang -v testfile.c)从命令行运行它。它报告的内容包括:
#include< ...>搜索从这里开始:
C:\ Program Files(独立)\ LLVM \ bin .. \ lib \ clang \ 3.7.0 \ include
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ include
我不明白为什么它甚至会首先查看Microsoft标头。我没有名为INCLUDE的环境变量。我通过做"设置INCLUDE"来验证这一点。从命令行收到消息说没有这样的环境变量。那么,clang获取此信息的位置和原因以及如何阻止它?在编译期间,对于Microsoft头文件中的某些内容也会发生几个警告(而不是错误)。
它报告的版本是:
clang -cc1版本3.7.0基于LLVM 3.7.0svn默认目标i686-pc-windows-msvc
我理解i686-pc-windows部分,但为什么msvc部分?如果这意味着它是用msvc构建的那么这是有道理的,但如果它意味着clang是为了运行msvc支持而构建的,那我就不明白为什么。