ページ

2013年4月29日月曜日

EclipseCDT+LLVMでビルドしてみる

GCCに嫌気が差したので、Clangを試してみようかと思ってEclipseのプラグインを入れてみました。

プロジェクトページ https://code.google.com/p/llvm4eclipsecdt/ の案内に従って、
EclipseのHelp > Install New Software で https://code.google.com/p/llvm4eclipsecdt/ を指定して、llvm4eclipsecdtをインストール。

あとはllvmとclangをインストールして…
apt-get install clang
apt-get install llvm

しかしここで、Eclipseでプロジェクトを作ってビルドすると謎のエラーが…
Invalid MODULE_CODE_GLOBALVAR record

どうやらこのエラーは、clangのバージョンとリンカ(llvm-ld)のバージョンが食い違っていると発生する様子。
バージョンを確認してみると・・・

$ llvm-ld -version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.9 (Ubuntu 2.9+dfsg-3ubuntu4)
  Optimized build.
  Built Jan 24 2012 (00:53:00).
  Host: i386-pc-linux-gnu
  Host CPU: pentium-m

  Registered Targets:
    (none)
$ clang++ -v
Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)
Target: i386-pc-linux-gnu
Thread model: posix
あぁ確かに食い違ってる・・・
llvm-ldがllvm-ld-3.0にリンクされてないのが問題っぽいので、そこのリンクを貼り直すことにします。
$ cd /usr/bin
$ sudo mv llvm-ld llvm-ld.old
$ sudo ln -s llvm-ld-3.0 llvm-ld
で、再ビルドしたところ正常終了しました。

0 件のコメント:

コメントを投稿