Ubuntu 12.10をベースに、Sublime Text 2でC++の開発環境を整えてみました。
sublime textのインストール
公式サイトにはtar ballがありますが、PPAがあるのでそちらを利用してインストールします。
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text
Sublime Package Control のインストール
パッケージの管理のためにPackage Controlをインストールします。
- ctrl + shift + @ でプロンプト表示します。
- 以下のコマンドを実行します。
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
- Sublime Text を再起動します。
SublimeClang のインストール
SublimeClangをインストールします。
SublimeClangをインストールすると以下のことができるようになります。
- C/C++のコード補完
- ヘッダーファイルへの移動
- 構文エラーなどのチェック
SublimeClangはPackage Controlを使ってインストールします。
- ctrl + shift + p でプロンプト表示
- 「install」と入力し候補の「Package Control: Install Package」を選択
- 「clang」と入力し候補の「SublimeClang」を選択。しばらく待つとインストールされる
エラー対応
起動すると「Unfortunately ctypes can't be imported, so SublimeClang will not work.」とダイアログが出てSublimeClangが使えません。
Linux特有の問題なようなので次の手順でPythonとclangの設定をします。
python 2.6のインストール
sudo apt-get install curl
curl -kL http://xrl.us/pythonbrewinstall | bash
source "$HOME/.pythonbrew/etc/bashrc"
pythonbrew install --configure="--enable-unicode=ucs4" 2.6
sudo ln -s $HOME/.pythonbrew/pythons/Python-2.6/lib/python2.6 /usr/lib/sublime-text-2/lib/
ライブラリの作成
sudo apt-get install cmake clang
wget wget http://llvm.org/releases/3.2/clang+llvm-3.2-x86_64-linux-ubuntu-12.04.tar.gz
tar xvf clang+llvm-3.2-x86_64-linux-ubuntu-12.04.tar.gz
cp clang+llvm-3.2-x86_64-linux-ubuntu-12.04/lib/libclang.so ~/.config/sublime-text-2/Packages/SublimeClang/
cd ~/.config/sublime-text-2/Packages/SublimeClang/src
mkdir build
cd build
cmake ..
make
参照するヘッダファイルの追加
開発で作成した独自のヘッダファイルは、同じフォルダにない限りSublimeClangからは参照されず、includeを書いてもエラーとなります。
解決するには、Sublime Textのプロジェクトの設定ファイルにヘッダファイルがあるディレクトリのパスを追記します。これでinclude文がエラーにならず、補完も効くようになります。
- [Project] - [Save Project As…]メニューでプロジェクトを作成する。ファイル名がプロジェクト名になるので、任意の名前を付ける。
- [Project] - [Edit Project]メニューよりプロジェクトの設定ファイルを開く。
- 設定ファイルにヘッダファイルへのパスを追加する。
{
"settings": {
"sublimeclang_options": [
"-I/path/to/foo/include",
"-I/path/to/bar/include"
]
}
}
これでSublime Text上でのC/C++開発環境が整いました。重いIDEを立ち上げなくてもSublime Text上でほぼ開発が完結するので非常に開発が楽になりました。