2011年7月13日水曜日

sqlite3のDLLを作る。

諦めていたわけではないのですが・・・。
mingw32を使うと割とスムーズにできたので・・・。

まずは、sqlite3ダウンロードページからソースが一つにまとめられた amalgamation 版をダウンロードします。
で、コマンドプロンプトでダウンロードしたフォルダへ移動して


>c:\MinGW\bin\gcc -mrtd -c -O2 -DSQLITE_THREADSAFE=1 -DSQLITE_API="__declspec(dllexport)" sqlite3.c

でコンパイルして

>c:\MinGW\bin\gcc -shared -o sqlite3.dll sqlite3.o -Wl,--add-stdcall-alias,--kill-at,--out-def=sqlite3.def

でDLLが出来上がります。

この方法だと__stdcallで出来上がるそうなので、vbから呼び出しokです。
(-mrtdを渡すことで既定の規約を__stdcallへ変更できる)

sqlite使って遊びましょう。