ここしばらく、あるアルゴリズムの検証作業を進めているのですが、補助機能としてデータベースを使いたくなり、SQLite3を導入してみたので、関連事項をまとめておきます。
とりあえずWindowsXP+MinGW+SQLite環境を構築したのですが、SQLiteの設定で少しつまづいたのでメモしておきます。
- MinGWをc:\MinGWにインストール
→Windows で MinGW バージョン 20110530 のインストールとテスト実行 - 環境変数PATHにC:\MinGW\binを追加
- 環境変数C_INCLUDE_PATHにC:\MinGW\includeを追加
- 環境変数CPLUS_INCLUDE_PATH にC:\MinGW\includeを追加
- 環境変数LIBRARY_PATH にC:\MinGW\libを追加
- SQLiteをインストール→SQLite Vesion 3 DLL版 を呼び出すC/C++アプリケーションの構築
- libsqlite3.aを以下のコマンドで作成する
dlltool --dllname sqlite3.dll --input-def sqlite3.def --output-lib libsqlite3.a - 作成したlibsqlite3.aをC:\MinGW\libにコピー
- sqlite3.hとsqlite3.dllは作業ディレクトリにコピー
g++ -Wall test.cpp -lsqlite3
なお、高速化のためにテーブルの属性やインデックス等については、以下のようなSQL文を発行してみました。
sqlite3_exec(db, "CREATE TABLE table1 ( " "id INTEGER NOT NULL PRIMARY KEY," "value TEXT NOT NULL)"; sqlite3_exec(db, "CREATE INDEX table1_idx ON table1 ( value )", 0, 0, &zErrMsg); sqlite3_exec(db, "PRAGMA default_synchronous = OFF", 0, 0, &zErrMsg);
FruitsFields
サポートページはこちら。
http://cbbandtqb.toypark.in/FruitsFields/index_jpn.html

