在Windows上构建Clang

时间:2014-02-07 14:24:10

标签: windows clang llvm

我正在尝试使用Microsoft C ++ 2013在Windows 7上构建LLVM / Clang。构建LLVM会沿途发出一些错误消息,但大多数似乎都是成功的,并且最终创建了一个充满exe的文件夹,因此该部分似乎有效。当我尝试建立Clang时:

C:\clang>\CMake\bin\cmake.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,在CMakeLists.txt中定义它还是在环境变量而不是命令行中,将其设置为/ llvm等可能相关的子目录。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您未在“使用Visual Studio”下正确遵循this page上的说明。你最终会得到

/    / LLVM    /llvm/CMakeLists.txt    / LLVM /工具/铛    /llvm/tools/clang/CMakeLists.txt

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

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

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

你正在做的是建立“树外”的铿锵声。这是可能的,甚至是支持的,但在某些情况下才真正有用。在某些目录中,您需要先前构建的LLVM版本。然后,将{{1}}设置为包含构建的LLVM文件的目录(这不是源目录)。但正如我所说,这使得事情变得毫无困难。