読者です 読者をやめる 読者になる 読者になる

SublimeClangでC/C++のコード補完&コード解析をできるようにする

SublimeClangというプラグインをインストールして、Sublime Text 2でC/C++のコード補完とコード解析をできるようにしました。

こんな感じにコード補完や、コード解析してくれます。
・コード補完

・コード解析

環境

インストール

Package Controlからインストールするか、Sublime Text 2のパッケージディレクトリで以下を実行する

$ git clone https://github.com/quarnster/SublimeClang SublimeClang


Linuxの場合は、Package Controlからインストールするだけでは使えないみたいです。
http://www.sublimetext.com/forum/viewtopic.php?f=5&t=3958&start=10#p18782

以下Linuxの場合

python2.6をインストールする

$ sudo apt-get install python2.6


Sublime Text 2のインストールディレクトリ内の、libディレクトリにあるpython26.zipをバックアップする

$ cd /usr/lib/sublime-text-2/lib
$ sudo mv python26.zip backup.python26.zip


libディレクトリに、/usr/lib/python2.6 へのシンボリックリンクを作る

$ sudo ln -s /usr/lib/python2.6 .


clang3.0をダウンロードして解凍する
LLVMのダウンロードページ http://llvm.org/releases/download.html#3.0 からダウンロードするか、以下を実行する

$ cd
$ wget http://llvm.org/releases/3.0/clang+llvm-3.0-i386-linux-Ubuntu-11_10.tar.gz
$ tar xvf clang+llvm-3.0-i386-linux-Ubuntu-11_10.tar.gz

64bit版のclangではうまく動かず、32bit版のclangでは動きました。なので32bit版を使用しています。
今回はコンパイルせずに済ませます。


解凍して出てきたlibディレクトリ内のlibclang.soをSublimeClangのパッケージディレクトリにコピーする

$ cd clang+llvm-3.0-i386-linux-Ubuntu-11_10/lib/
$ cp libclang.so ~/.config/sublime-text-2/Packages/SublimeClang/.


ここまででも使えるようになるのですが、起動するとインクルードファイルが見つからないというエラーが出てしまうので、それを解消します。

/usr/include/wchar.h:40,11 - Fatal - 'stdarg.h' file not found


先ほど解凍して出てきたlibディレクトリ内のclang/3.0/includeを、まるごとSublimeClangのパッケージディレクトリにコピーする

$ cp -r clang/3.0/include ~/.config/sublime-text-2/Packages/SublimeClang/.


Sublime Text 2のメニューから Preferences -> Package Settings -> SublimeClang -> Settings - Defaultを開き、"options"の末尾に以下を追加する

"-I/home/[ユーザー名]/.config/sublime-text-2/Packages/SublimeClang/include/"

2/9 追記

インストールした環境はUbuntu 11.10 64bitではなく、Ubuntu 11.10 32bitでした。どおりで64bit版のclangが動かないわけです。
64bitのUbuntuで導入してみたところ、32bit版のclangは動かず、64bit版のclangのみ動きました。