在Windows上构建Clang:DiagnosticCommonKinds.inc标头不存在

时间:2015-08-04 18:17:07

标签: windows clang llvm

我正在尝试使用MS Visual Studio 2013在Windows 8.1上构建Clang,遵循“使用Visual Studio”部分中http://clang.llvm.org/get_started.html处的说明。

我已将 llvm 检出D:\Current\llvm,将 clang 检出D:\Current\llvm\tools\clang,创建D:\Current\llvm_build,然后在{{{}运行"D:\Program Files (x86)\cmake-3.3.0-win32-x86\bin\cmake.exe" -G "Visual Studio 12" ..\llvm 1}}目录。

LLVM.sln和其他文件在llvm_build目录中创建,没有任何严重错误。但是当我在Visual Studio中打开此解决方案并尝试编译 clang 项目时,我会收到如下错误:

llvm_build

实际上,在1>D:\Current\llvm\tools\clang\include\clang/Basic/DiagnosticIDs.h(53): fatal error C1083: Cannot open include file: 'clang/Basic/DiagnosticCommonKinds.inc': No such file or directory (D:\Current\llvm\tools\clang\tools\driver\cc1as_main.cpp) llvm文件夹中找不到DiagnosticCommonKinds.inc文件。我想它应该在构建过程中由CMake生成,但由于某种原因,这不会发生,我没有得到任何有意义的错误。

这是我得到的CMake的输出:

llvm_build

有人可以建议我该如何解决这个问题?我做错了吗?

1 个答案:

答案 0 :(得分:3)

原来,http://clang.llvm.org/get_started.html的指示部分误导:

  

仅针对编译器驱动程序和前端构建“clang”项目,或者构建“ALL_BUILD”项目以构建所有内容,包括工具。

在新创建的解决方案中编译 clang 项目实际上是不可能的,但 ALL_BUILD 项目编译没有任何问题,并生成所有必要的文件,包括DiagnosticCommonKinds.inc。