SQLiteで組み込みDB体験(2008年版)

下記の記事を元にしています。

SQLiteで組み込みDB体験(2007年版)
[中級] 組み込みDB:SQLiteをVisual C++ 2005 Express Edition で使う
http://codezine.jp/a/article/aid/1252.aspx?p=1

 ただ、SQLiteのバージョンが3.3.16(2007年4月20日現在)から3.5.4(2008年1月8日現在)に上がっていて、記事の内容をそのまま適用できなかったので、上記の記事を元に、sqlite-source-3_5_4.zipを使って、Visual Studio 2005のプロジェクトをつくりました。

 まず、下記ページを開きます。

http://www.sqlite.org/download.html

 下記ファイルをダウンロードします。

sqlite-source-3_5_4.zip

 適当なディレクトリを作成し、ソースを展開します。

 私の場合や、下記のようなディレクトリ構造を作成し、srcディレクトリの下にソースを展開しました。

d:\sqlite\src
         \lib
         \bin
         \vc2005\SQLite
         \vc2005\SQLiteTest

 Visual Studio 2005を起動し、新規プロジェクト(名前はSQLiteにしました)を作成します。アプリケーションの種類は[スタティックライブラリ]にして、[プリコンパイル済みヘッダー]のチェックを外します。この辺りについて、詳しくは、元の記事「SQLiteで組み込みDB体験(2007年版)」を見られると良いと思います。

 プロジェクトのプリプロセッサの定義に下記の二つを追加します([release]と[debug]共に)。

_CRT_SECURE_NO_DEPRECATE
THREADSAFE

 また元の記事とは違う点として、プロジェクトの[出力ファイル]のプロパティは下記のように変更しました。

..\..\lib\sqlite.lib([release]版)
..\..\lib\sqlite_d.lib([debug]版)

 次に、ソースファイルとヘッダファイルをプロジェクトに追加します。srcディレクトリの拡張子が.cのファイルをすべて選択して、ソリューションエクスプローラのソースファイルのところにドラッグドロップします。

 同様に、拡張子が.hのファイルをすべて選択して、ソリューションエクスプローラのヘッダーファイルのところにドラッグドロップします。

 tclsqlite.cファイルだけは、プロジェクトから削除します(tclsqlite.cは、tclsqlite.hがなく、コンパイルできません)。

 これで、問題がなければ、ビルドを実行するとlibの下にsqlite.libとsqlite_d.libが作成されます。

 次に、サンプルプログラムを追加します。ソリューションに空のプロジェクト(名前はSQLiteTestにしました)を追加します。プロジェクトのソースファイルに元の記事にあるsample.cppを追加します。

 プロジェクトの[依存関係]にSQLiteのライブラリを追加します(チェックを入れる)。

 プロジェクトの[出力ファイル]のプロパティを下記のように変更します。

..\..\bin\$(ProjectName).exe

 プロジェクトの[追加のインクルードディレクトリ]のプロパティを下記のように変更します。

..\..\src
 
 SQLiteTestのビルドを実行します。問題がなければ、binの下にSQLiteTest.exeが生成されます。

 コマンドラインから実行します。下記のような出力が得られれば、OKです。

D:\sqlite\bin>SQLiteTest.exe
[id=1] [name=episteme] [place=yokohama]
[id=2] [name=mnow] [place=tokyo]
[id=3] [name=naka] [place=oosaka]
[id=4] [name=janne] [place=nagoya]
[id=5] [name=naoko] [place=tokyo]

 Visual Studioのプロジェクトを作成するのは、面倒だと思いますので、SQLiteの3.5.4のソース及びsample.cppも含めて圧縮したファイルを添付しておきます。vc2005ディレクトリの下のSQLite.slnが今回作成したソリューションファイルになります。このソリューションファイルに、SQLiteとSQLiteTestのプロジェクトが登録されています。

「sqlite.zip」をダウンロード

以上