2012-02-07 61 views
5

我试图编译目录lib/Transforms/Hello,这基本上是LLVM的一个Hello World通过Hello例子,但我得到以下错误,当我尝试使用使编译它。编译铛,LLVM的例子

../../../Makefile.common:61: ../../../Makefile.config: No such file or directory 
../../../Makefile.common:69: /Makefile.rules: No such file or directory 
make: *** No rule to make target `/Makefile.rules'. Stop. 

任何想法是什么问题以及如何解决它?

回答

4

如果您根据说明构建了LLVM + Clang,则应该已经构建了Hello样本。在构建目录(您运行configure,然后运行make)前往lib/Transforms/Hello。那里应该有一个Debug+Asserts(或者你编译的任何配置)。你也可以从那里运行make

一般而言,您始终从构建目录中获取make,而不是源目录。构建目录具有正确设置的所有Makefile。

+0

所以这意味着每次更改代码时,都需要从树顶调用make,这显然会消耗很长时间。无论如何缩短这个建筑时间? – MetallicPriest 2012-02-07 17:06:49

+1

@MetallicPriest:如果您只是更改了一个或两个文件,那么从树的顶部运行'make'所花费的时间非常少。这就是'make'的意思,大多数大项目都使用它。 – 2012-02-07 18:54:23

+0

Infact现在我甚至通过从本地目录调用make来编译它。 – MetallicPriest 2012-02-07 18:55:31