C++開発統合環境の決定版!

CodeBlocksの紹介

tags:tips, cpp, ide
created:2006-08-18T07:25:30

コンパクトなGUIも作れるC++統合環境!

CodeBlocksとは?

../../_images/codeblocks.png

C/C++言語をメインにサポートした統合開発環境(IDE)です。

スクリーンショット:
../../_images/codeblocks1.png

特徴

オープンソース
GPL2ライセンスによる公開です。
クロスプラットフォーム
wxWidgetsを使って開発されており、LinuxとWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。
GNUコンパイラによるビルド
プロプライエタリなライブラリへの依存がありません。
コンパイラーをバンドル
Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。
サポートコンパイラが豊富
  • GCC (MingW / Linux GCC)
  • MSVC++(2003 2005)
  • Digital Mars C++
  • Borland C++ 5.5
  • Intel C/C++
  • Open Watcom
  • SDCC(ワンチップマイコン向け!)
  • Digital Mars D(D言語!)
  • GNU ARM GCC
マルチプルターゲット機能
リリースビルド、デバッグビルドなどの ビルドセッティングのスイッチやバッチビルドのサポート
他のIDEからのプロジェクトインポート機能
  • DevCppのプロジェクト
  • MSVCのプロジェクトやワークスペース
プラグインシステムによる柔軟な拡張性を確保
本体のプラグインシステムに加え、DevPak形式の拡張をサポート
エディタはScintilla
  • シンタックスハイライティング
  • フォールドによるコードブラウズ支援
  • プロジェクトに連動したコード補完機能
クラスブラウザ機能
クラス追加ウイザードもあります
TODO管理機能
ユーザ別管理可能なTODOリストマネージャ内蔵
Subversionサポート
プラグインによりサポートしていたのですが 現時点はトラブルで一時的にバンドルしていない模様。

インストール

現時点はまだインストールが単純ではありません。 (wxSmithをつかわないなら簡単)

  1. CodeBlocksのWindowsインストーラをセットアップ (C:Program FilesCodeBlocksにインストールしたものとして以下解説)
  2. 開発版スナップショットアーカイブを解凍、 Codeblocksインストールフォルダ(C:Program FilesCodeBlocks)の中に上書き
  3. wxmsw26ランタイムANSI版アーカイブを解凍、 Codeblocksインストールフォルダ(C:Program FilesCodeBlocks)の中に上書き
  4. wxmsw26ランタイムUNICODE版アーカイブを解凍、 Codeblocksインストールフォルダ(C:Program FilesCodeBlocks)の中に上書き
  5. wxWidgets2.6.3ソースインストーラをセットアップ (C:wxWidgets-2.6.3にインストールしたものとして以下解説)

「wxWidgets」のビルド

以下のコマンドをコマンドプロンプトで実行

c:> set path=C:\Program Files\CodeBlocks\bin;C:\Program Files\CodeBlocks\mingw32\bin
c:> cd c:\wxWidgets-2.6.3\build\msw
c:> mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean
c:> mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
c:> mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean
c:> mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0

で、以下の出来上がったファイルをパスの通ったフォルダにコピーしておいてください。

  • C:\wxWidgets-2.6.3\lib\gcc_dll\wxmsw26_gcc_custom.dll
  • C:\wxWidgets-2.6.3\lib\gcc_dll\wxmsw26u_gcc_custom.dll

パスって何ぞや?な人はとりあえず以下のコマンドをコマンドプロンプトで実行しなされ。

c:>cd  C:\wxWidgets-2.6.3\lib\gcc_dll
c:>copy *.dll %windir%

これらのうちアプリケーションで使うDLLを一緒に配布しないといけません。 (日本語アプリは通常「u」バージョン)

環境変数設定

メニューの「Settings->Environment」

Environment Variablesページにて Addボタンをおして、 WXWINという環境変数に「C:\wxWidgets-2.6.3」を設定します。

../../_images/codeblocks2.png

というように設定しましょう。

グローバルバリアブルズ設定

初めてのwxSmithプロジェクトのビルドのとき wx関連の「Global variables」設定がない!ということで、 開くダイアログがあります。

../../_images/codeblocks3.png

というように設定しましょう。

注釈

いきなり「Global variables」ダイアログを開いても「wx」に関する設定項目がありません。 いちど「wxSmith」プロジェクトを新規作成してビルドにトライしなければなりません。

エディターの設定

細かい設定は好みに合わせて行ってください。

フォントは日本語対応のものが良いでしょう。

「L”“」によるワイド文字列定数で日本語が使いたい場合は 「UTF-8」をデフォルトエンコードに

コード補完機能は遅い機種のためにデフォルトでOFFです。以下のチェックをオンに。

../../_images/editor_setting.png

コード補完の呼び出しは「Ctrl+Space」です。

使い方

wxSmithプロジェクトの作成

メニューからFile->New->Projectを選択

../../_images/new_project.png

wxSmithをダブルクリックするとウイザードが起動。

../../_images/wxsmith_new.png
  • 「Project name:」には任意のプロジェクト名称を入力 (普通実行ファイル名になる)
  • 「Main frame title:」にはメインフレームのキャプションテキスト初期値を設定。 (あとから変更可能)
  • 「Configuration mode:」には「Global valiables」
  • 「Library type:」には「DLL」
  • 「Unicode」にはチェックを入れてください。

「OK」ボタンを押すと、新規プロジェクトが雛形とともに構築されます。 (この時が初めての時の場合「Global variables」ダイアログが開きます。 グローバルバリアブルズ設定 を参照)

フレームの編集

メインフレームだけが最初からプロジェクトに追加されています。

../../_images/project_tree.png

Others/wxsmith/MainFrame.wxsをダブルクリック

../../_images/frame_edit.png

右端のボタン群は上から

  • 選択したノードの子として挿入するモード
  • 選択したノードの手前に兄弟として挿入するモード
  • 選択したノードの手前に兄弟として挿入するモード
  • 選択ノードの削除
  • プレビュー
  • クイックプロパティウインドウの表示/非表示

下のタブはサイザーやウィジェットのパレットです。

メインフレーム以外は、メニューの「wxSmith」から追加できます。

リソースツリー

リソースツリーはプロジェクトツリーのタブに隠れています。

../../_images/resources.png

リソースツリー下部はウィジェットプロパティとイベントタブもあります。

イベントタブでの操作は「びじゅあるなんとか」と似ています。

../../_images/add_event.png

イベント名称で「Add event」を選択することでイベントハンドラの追加ができます。

../../_images/name_dialog.png

このダイアログで名称を決定すると、ソースコードにメソッドが追加されます。

まとめ

ヘッダキャッシュが効いているように感じるのですが・・・。

今後もプラグインの追加が期待できそうです。

リリース版になればインストールも楽になると思いますし。

プロジェクトの動向は要チェックです!!

追記(2011/05/03)

Windows用インストーラ作りました! setup_codeblocks_rev5731.exe

boostやwxpythonのライブラリも選択インストールできます。