実践 CHICKEN Scheme 準備編

これは CHICKEN Scheme で実用的なGUIアプリケーションを作成するまでのメモです。
CHICKEN Schemeの導入については前回で解説しています。

例としてFirefoxの履歴とお気に入りを保管しているデータベースファイルを再構成することでちょっと反応を早くするアプリを作ってみます。*1

まず、実用的なアプリを書くために必要なライブラリ一式をインストールしなければなりません。たいていはchicken-install一発なんですがどうもこいつらはそんなに簡単いかないものばかりです。あっさり書いてますが良いコマンドを見つけるために結構時間かかってます。

今回インストールするのは、

  1. SQlite3 データベース
  2. Qt4 アプリケーションフレームワーク

の2つです。他のはあってもchicken-installで瞬殺なのでたいして困らないでしょう・・・(たぶんw

Ubuntu

sudo apt-get install libsqlite3-dev

として sqlite.h などをインストールしてから

chicken-install -s sqlite3

でsqlte3のeggが入ります。順番間違えるとファイルねーよのエラーが出るよ。

ちなみに chicken-install に -s オプションをつけるとファイル操作だけをスーパーユーザで行えるのでおすすめだとDerGuteMoritz氏に教えてもらいました。親切にありがとう。

  • s をつけない場合は sudo chicken-install で代用できます。

続いてQt4です。

sudo apt-get install qt4-designer g++

デザイナーをいれるとQtのヘッダ類など必要ファイルも自動的にインストールされます。

chicken-install -s qt-light

Qt用バインディングには qt と qt-light の2つがありますが qt の方は作者が放置気味とのことなので(H23.5.16現在)、hot な qt-light をおすすめします。
バグを見つけたら作者のFelix氏に英語で問い合わせてみませう。
(thanks C-Keen, DerGuteMoritz, mario-goulart 敬称略・英字順)
(最近Ubuntu無線LANの調子がわるいので環境構築がなかなか進まなくて困ってます。
Windowsでやると面倒なのでUbuntuでさっくりチェック終わらせたかったのだけれど)

Windows7(MinGW)では
SQLite Download Page 内の
Windows DLL http://www.sqlite.org/sqlite-dll-win32-x86-3070600.zip を解凍しコマンドプロンプトでそのフォルダに入ってから

dlltool -D sqlite3.dll -d sqlite3.def -l libsqlite3.a

生成された libsqlite3.a を C:\mingw\lib にコピーします。

copy libsqlite3.a C:\mingw\lib

同じフォルダにある sqlite3.dll を C:\mingw\bin にコピーします。

copy sqlite3.dll C:\mingw\bin

SQLite3 ソースコード http://www.sqlite.org/sqlite-preprocessed-3070602.zip 内の sqlite3.h を C:\mingw\include にコピーします。

copy C:\Users\....中略....\sqlite3.h C:\mingw\include

ファイルパスの入力が面倒ならエクスプローラでやっても構いませんが、コマンドプロンプト自体がドラッグアンドドロップによるパス入力をサポートしているので活用しました。

chicken-install -s sqlite3

さ、入りました。csi で(use sqlite3)できるか確かめておきましょう。
Ubuntuと比べてえらい面倒ですが他に方法がありません。やっぱりUbuntuはいい奴です。

それからQt4です。
http://qt.nokia.com/downloads-jp から
右側の「Windows 版 Qt ライブラリ 4.7.3 のダウンロード (minGW 4.4, 322 MB) 」と
左下 Qt Creator IDE の「Windows 版 Qt Creator 2.2 のダウンロード(52MB)」
をダウンロードします。
QtSDKのインストール先はデフォルトの "C:\Qt\4.7.3"、MinGWのインストール位置は "C:\MinGW"
Qt Creatorのインストール時にはMinGWのチェックをはずしておきます。
ここで「Qt SDK for Windows (15 MB) 」を選んでしまうと
約157000ファイル(約6.6GB)がインストールされます。なんという地雷。


はい、あとはこうですね。

set QTDIR=C:\Qt\4.7.3
chicken-install -s qt-light

ところが動きません。謎です。
ここで一月ぐらい時間を食ってしまいましたがまだ解決法はみつかりません。

追記(7月ごろ?)
いろいろやってたら動きました。chicken-install中に表示されたコマンドをchicken-install -k で落としたフォルダにcdして手動で実行したらできました。色々と謎です。

*1:実は同様の機能がブラウザ自体にもう内蔵されていたりするが気にしない