Code::Blocks をポータブルに使う(セットアップ編)

0 0
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2015年10月26日(月)20時03分

wxWidgets 始めました

とにかく GUI を作るのが面倒で、これまではコンソール・プログラムや HTA に逃げていました。
しかし作りたいアプリケーションのいくつかは、やはりしっかりとした GUI が必要です。
ということで、wxWidgets を始めようと考え、いろいろと調べたり、ごそごそと環境を整備したりしています。

Code::Blocks を導入

その手始めとして、統合開発環境(IDE)である Code::Blocks を導入しました。
これは別に wxWidgets 開発に必須というわけではありません。
むしろ Windows で C++ を使うのであれば、Visual Studio が一般的かと思います。
ただ最近の Visual Studio は肥大化が著しく、ちょっとしたツールを書く程度のためにインストールするのはためらわれるレベルですので、他の環境を試したかったのです。
いくつかの候補の中から Code::Blocks に決めたのは、おもに以下の二点の理由によります。

  • Code::Blocks 自体が wxWidgets で作られているため親和性が高いと思われること
  • ポータブル化できること

何度も書いていますが「ポータブルなアプリケーションが好き」ですので、後者は特に大きな動機になりました。

nightly build インストーラのダウンロード

ウィキペディアの Code::Blocks の項目にも書いてあるのですが、Code::Blocks は安定版のリリースがあまりなく、代わりに「nightly builds」と呼ばれる開発中の最新評価版が頻繁に更新され、実質こちらでバージョンアップがなされている状態のようです。
そしてポータブル化するにあたっても、この nightly builds の方が便利であるため、今回はこちらを使うことにしました。
ということで、nightly builds が公開されている forums へ行き、最新版を探します。
2015年10月時点では「The 13 October 2015 build (10528) is out.」にある「CB_20151013_rev10528_win32.7z」でした。
また、同一ページにある「wxmsw28u_gcc_cb_wx2812_gcc492-TDM.7z」も起動に必要になるため、併わせてダウンロードしておきます。
あとは CB_20151013_rev10528_win32.7z を解凍(展開)し、フォルダ名を「CodeBlocks」にリネーム、そこに wxmsw28u_gcc_cb_wx2812_gcc492-TDM.7z から取り出した「wxmsw28u_gcc_cb.dll」をコピーすれば準備完了です。

ポータブル化

ポータブル化の情報は公式 Wiki の「FAQ-Settings」ページにあります。
原理としては、Code::Blocks は設定情報の保存場所を探す際に環境変数「APPDATA」を参考にするため、事前に保存先のパスをここに設定してから起動する、ということのようです。
つまり、例えば以下の内容を記した BAT ファイルを実行することでポータブルとなります。

set APPDATA=%~dp0AppData
mkdir "%APPDATA%"
START /D"%~dp0" codeblocks.exe %*

ただし nightly builds にはこれと同じ機能を持つランチャー「CbLauncher.exe」が同梱されているため、上記 BAT ファイルを作る必要はありません。

日本語化の準備

Code::Blocks の日本語化には「codeblocks.mo」と「wxstd.mo」の二つのファイルを使います。

codeblocks.mo

codeblocks.mo は Code::Blocks 自体を日本語化するための言語ファイルです。
Code::Blocks の目に見える部分のほとんどはこれで日本語化されます。
ファイルは「codeblocks 日本語化」や「codeblocks.mo」等で検索すると、幾人かの方が製作・配布されているようです。
自分は「http://algo13.net/codeblocks/」にあるものをダウンロードさせていただきました。
入手した codeblocks.mo は「CodeBlocks」フォルダの「\share\CodeBlocks\locale\ja_JP」フォルダに配置します。

wxstd.mo

wxstd.mo は Code::Blocks の土台となっている wxWidgets を日本語化するための言語ファイルです。
例えば wxWidgets 側で問題が生じた場合のエラーメッセージの翻訳文等が入っています。
そのためか、これのあるなしで「ここが変わった」とわかる箇所は、自分にはありませんでした。
このファイルは codeblocks.mo と同様にインターネット上で見つけることもできますが、wxWidgets から作り出すことも可能です。
まず、nightly builds で使用されているバージョンである「wxWidgets-2.8.12.tar.gz(または zip)」を公式サイトからダウンロードします。
その中の「locale」フォルダにある「ja.po」が元となるファイルです。
これを「msgfmt」というツールを使いコンソールで以下のようにすると「wxstd.mo」が生成されます。

msgfmt.exe ja.po -o wxstd.mo

…ですが、たかだか200KB程度のファイル一つを手に入れるために20MB近いファイルをダウンロードするというのはあまりに非効率ですので、生成したものをここに置いておきました。

ダウンロード(リンク先ページの「wxstd.zip」)

これを解凍し、中の wxstd.mo を「CodeBlocks」フォルダの「\share\CodeBlocks\locale\ja_JP\LC_MESSAGES」フォルダに配置すれば日本語化の準備完了です。

初回起動

Code::Blocks をポータブルに使うためには、常に「CbLauncher.exe」から起動します。
初回起動時には以下のようなダイアログが出ました。

Compilers auto-detection

使用するコンパイラを設定するものですが、あとで準備する予定であるため、ここでは特に何もせずに「OK」します。

File associations

次に出てくるのがこれで、C/C++ 系のファイルを Code::Blocks に連付けるかどうかの確認です。
関連付けるとポータブルの意味がありませんので、ここはもちろん「No, leave everything as it is」としました。

日本語化の設定

Code::Blocks は起動時に OS の言語設定に自動で合わせてくれたりはしないようですので、まずは日本語化の設定です。
メニューの「Settings」から「Environment」を選択し、以下の設定画面を開きます。

Environment settings

左側のアイコンのリストで大きな目玉の「View」をクリックし、右側二行目の「Internationalization(will take place after restart)」にチェック、左の選択肢を「Japanes」にして「OK」です。
言語設定は変更後に Code::Blocks を起動しなおさないと反映されません。
そのため一度終了させるわけですが、その際に以下のようなダイアログが出ました。

Layout changed

このダイアログは今後も時々見かけることになり、日本語化してからは以下のようになります。

レイアウトを変更しました

これに「Yes」すると日本語化完了です。
再び「CbLauncher.exe」を実行して起動すると、日本語で表示されています。

Code::Blocks

コンパイラの導入

今回セットアップした nightly builds はコンパイラが含まれていないため、別途用意しなければなりません。
ということで、次は「Code::Blocks をポータブルに使う(MinGW32 編)」でコンパイラを導入します。
その他の作業については「CodeBlocks」タグから一覧可能です。

関連記事
ページトップ