在窗户上建造叮当声



我正在尝试使用 Microsoft C++ 2013 在 Windows 7 上构建 LLVM/Clang。构建LLVM在此过程中吐出了一些错误消息,但大多数似乎都成功了,并且最终创建了一个充满exe的文件夹,因此该部分似乎已经起作用。当我尝试构建 Clang 时:

C:clang>CMakebincmake.exe ..clang-3.4 -DCLANG_PATH_TO_LLVM_BUILD=/llvm
CMake Error at CMakeLists.txt:29 (message):
Please set CLANG_PATH_TO_LLVM_BUILD to a directory containing a LLVM build.

无论我省略CLANG_PATH_TO_LLVM_BUILD,在 CMakeList 中定义它.txt还是环境变量而不是命令行,将其设置为可能相关的/llvm 等子目录,我都会收到相同的错误消息。

我错过了什么?

您没有正确按照本页上"使用 Visual Studio"下的说明进行操作。你最终会得到

//llvm /llvm/CMakeLists.txt /llvm/tools/clang /llvm/tools/clang/CMakeLists.txt

步骤4,为清楚起见,在此处重复:

  1. 运行 CMake 以生成 Visual Studio 解决方案和项目文件:
    • cd ....(回到您开始的地方)
    • mkdir build(用于在不污染源目录的情况下建造)
    • cd build
    • 如果您使用的是 Visual Studio 2012:cmake -G "Visual Studio 11" ..llvm

最后一点需要从VS命令提示符内部运行,但您似乎已经解决了这个问题。如果不使用 IDE 进行生成,也可以生成"NMake 生成文件"。无论如何,关键是您应该在顶级CMakeLists.txt文件上调用cmake,而不是直接在 clang 上调用。Clang将作为构建过程的一部分进行构建。您甚至可以将libc ++和compiler-rt添加到llvm/projects目录中,以便在支持它们的平台上自动构建它们。

你正在做的是"用树"建造叮当声。这是可能的,甚至是受支持的,但只有在某些情况下才真正有用。您需要在某个目录中使用以前构建的 LLVM 版本。然后,将CLANG_PATH_TO_LLVM_BUILD设置为包含构建的 LLVM 文件的目录(这不是源目录)。但正如我所说,这让事情变得不必要地困难。

最新更新