Mik*_*e T 7 linux ubuntu gcc clang
我需要将LLVM和Clang用于我注册的编译器类.这不是关于类的内容的问题,而是如何安装所需的软件.
我正在运行gcc版本4.6.3并已经下载,构建,测试和更新了我认为是LLVM套件版本3.4(最新的svn版本).我做了一个简单的"hello world"应用程序,在LLVM入门页面上引用,但是就行了
lli helloworld.bc
Run Code Online (Sandbox Code Playgroud)
我收到错误"lli:helloworld.bc:无效的MODULE_CODE_GLOBALVAR记录"
我是一个完整的初学者,所以我不知道我是否给了你修复我的错误所需的一切,如果你需要了解别的东西,请给我发表评论.另外请尽量给我尽可能详细的说明......我已经被抛入Ubuntu和Clang的世界,没有任何指示,也不忍心阅读另一个"阅读手册"的"解决方案".
非常感谢你的帮助.我只是希望得到这个设置,所以我至少可以尝试做作业.
编辑::以下是我在终端中运行的确切说明,其中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
Run Code Online (Sandbox Code Playgroud)
然后
clang hello.c -o hello
clang -03 -emit-llvm hello.c -c -o hello.bc
lli hello.bc
Run Code Online (Sandbox Code Playgroud)
最后一行,lli hello.bc,是我得到上述错误的地方.
第一组指令完成了WHILE.肯定安装/制造/做了一些东西.但我不知道这里到底发生了什么.
所以这是我的大问题:
1)我的机器上安装了什么?我应该安装Clang和LLVM,对吗?
2)我所有的教授都说:"我们将使用clang,你需要获得LLVM 3.3或更高版本.我是否在正确的轨道上?如果不是我应该做什么来获得LLVM 3.3?唯一的详细指南我在LLVM网站上找到了我上面详述的问题.
当你输入:
clang -03 -emit-llvm hello.c -c -o hello.bc
Run Code Online (Sandbox Code Playgroud)
您使用了系统的clang
可执行文件,它位于/usr/bin/clang
,而不是您刚刚构建的文件.两者有不同的版本.lli
然而,lli
你刚刚建立起来 - Ubuntu没有附带它.这意味着您已生成一个带有较旧LLVM版本的.bc文件,然后尝试使用较新的LLVM版本运行它,因此出现问题.
要验证这一点,您可以clang
通过which clang
在控制台中键入来检查您使用的是哪个.
解决此问题的最简单方法是键入./clang
(或任何其他不仅仅是文件名的路径)而不是clang
,这会强制shell选择当前目录中的文件.
归档时间: |
|
查看次数: |
3747 次 |
最近记录: |