安装Clang / LLVM / Ubuntu

时间:2013-08-28 04:35:22

标签: linux gcc ubuntu clang

我需要将LLVM和Clang用于我注册的编译器类。这不是关于类的内容的问题,而只是如何安装所需的软件。

我正在运行gcc版本4.6.3并已经下载,构建,测试和更新了我认为是LLVM套件版本3.4(最新的svn版本)。我做一个简单的“hello world”应用程序,在LLVM入门页面上引用,但在行

lli helloworld.bc

我收到错误“lli:helloworld.bc:无效的MODULE_CODE_GLOBALVAR记录”

我是这个东西的完全初学者,所以我不知道我是否给了你修复我的错误所需的一切,如果你需要了解别的东西,请给我发表评论。另外请尽量给我尽可能详细的说明......我已经被抛入Ubuntu和Clang的世界,没有任何指示,也不忍心阅读另一个“阅读手册”的“解决方案”。 / p>

非常感谢你的帮助。我只想设置这个,这样我至少可以尝试做作业。

EDIT :: 以下是我在终端中运行的确切说明,其中99%直接来自LLVM网站:

cd myFolder
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd myFolder
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd myFolder
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd myFolder
mkdir build
cd build
../llvm/configure --enable-optimized CC=/usr/bin/clang CXX=/usr/bin/clang++
make
make check-all
make update

THEN

clang hello.c -o hello
clang -03 -emit-llvm hello.c -c -o hello.bc
lli hello.bc

最后一行,lli hello.bc,是我得到上述错误的地方。

第一组指令完成了WHILE。肯定安装/制造/做了一些东西。但我不知道这里到底发生了什么。

所以这是我的大问题:

1)我的机器上安装了什么?我应该安装Clang和LLVM,对吧?

2)我所有的教授都说“我们将使用clang,你需要获得LLVM 3.3或更高版本。我是否在正确的轨道上?如果不是我应该做什么来获得LLVM 3.3?我在LLVM网站上找到的详细指南引导我解决上面详述的问题。

1 个答案:

答案 0 :(得分:8)

键入时:

clang -03 -emit-llvm hello.c -c -o hello.bc

您使用了系统的clang可执行文件,它位于/usr/bin/clang,而不是您刚刚构建的clang。两者有不同的版本。但是,lli是您刚刚构建的lli - Ubuntu没有附带它。这意味着您已生成一个带有较旧LLVM版本的.bc文件,然后尝试使用较新的LLVM版本运行它,因此出现问题。

要验证这一点,您可以在控制台中输入clang来检查您使用的which clang

解决此问题的最简单方法是键入./clang(或任何其他不仅仅是文件名的路径)而不是clang,这会强制shell选择当前文件。目录

相关问题