2013-08-28 24 views
7

登録しているコンパイラクラスにLLVMとClangを使用する必要があります。これはクラスの内容に関する質問ではなく、必要なソフトウェアをインストールする方法です。Clang/LLVM/Ubuntuのインストール

私はgccバージョン4.6.3を実行しており、LLVMスイートバージョン3.4(最新のsvnエディション)と思われるものをダウンロードし、ビルドし、テストし、更新しました。私は

を「無効MODULE_CODE_GLOBALVARレコード:helloworld.bc LLI」私は、私はエラーを取得する

lli helloworld.bc 

LLVMに参照されるように、単純な「Hello World」アプリケーションは、ページを始めるんが、ライン上の

私はあなたが私のエラーを修正するために必要なすべてを与えたかどうか分からないので、私はあなたが何かを知る必要がある場合はコメントをドロップしてください。また、可能な限り詳しい手順を教えてください...私はUbuntuとClangの世界に何の指示もなくスローされており、 "manページを読む"という別の "解決策"を読むことはできません。

ご協力いただきありがとうございます。私はちょうど宿題を試すことができるように、この設定をしたいです。 THEN

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 

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

そして、その最終ライン:ここでEDIT ::

はEXACT LLVMのWebサイトから直接取られた99%そのうち私はターミナルで実行した命令をしています、lli hello.bcは、上記のエラーが発生する場所です。

その最初の命令グループは、完了するのを間に合わせました。何かが間違いなくインストール/構築/何かをしました。しかし、私は実際に何が起こっているのか分かりません。私のマシンにインストールされている何

1):だからここ

は私の大きな疑問がありますか? ClangとLLVMの両方をインストールする必要があります。

2)私の教授は、「私たちはclangを使用しています。あなたはLLVM 3.3以降を入手する必要があります。唯一の私はLLVMのウェブサイト上で見つかった詳細なガイドでは、上記に詳述さの問題に私をリードし

+0

LLVMをどのようにビルドしたかについて詳しく述べるべきです(ほとんどのLinuxディストリビューションにパッケージされています;単にaptitude install clang llvmとすることができます)。そして、LLVMメーリングリストでそれを聞くかもしれません。 –

+1

「helloworld.bc」ファイルをどのように生成したかを詳しく編集できますか?また、[この関連する質問](http://stackoverflow.com/questions/8717868/compile-assemble-and-disassemble-using-the-llvm-tool-chain)に興味があるかもしれません。 – Oak

答えて

8

を入力したとき:。

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

あなたは/usr/bin/clangであるシステムのclang実行可能を、使用されず、あなたが作成したばかりのclang。2つのバージョンが異なっています。しかし、あなたが作成したばかりのは10です.Ubuntuには付属していません。これは、以前のLLVMバージョンの.bcファイルを生成し、新しいLLVMバージョンで実行しようとしたことを意味します。

これを確認するには、コンソールにwhich clangと入力して、使用中のclangを確認します。

これを解決する最も簡単な方法は、clangの代わりに./clang(またはファイル名だけではない他のパス)を入力することです。これにより、シェルは強制的にカレントディレクトリのファイルを選択します。

関連する問題