我正在尝试使用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
有人可以建议我该如何解决这个问题?我做错了吗?
答案 0 :(得分:3)
原来,http://clang.llvm.org/get_started.html的指示部分误导:
仅针对编译器驱动程序和前端构建“clang”项目,或者构建“ALL_BUILD”项目以构建所有内容,包括工具。
在新创建的解决方案中编译 clang 项目实际上是不可能的,但 ALL_BUILD 项目编译没有任何问题,并生成所有必要的文件,包括DiagnosticCommonKinds.inc。