問題
WindowsでD言語からSQLiteを使おうと思ってラッパーライブラリd2sqlite3使おうとしたらsqlite3.libまわりで下記のエラーが出て詰まった.
- Warning 2: File Not Found sqlite3.lib
- Error 43: Not a Valid Library File
d2sqlite3でなくとも他の方法でD言語からSQLiteを使うときに応用できる思う.
解消方法
-
Warning 2: File Not Found sqlite3.lib
→ sqlite3.libをコンパイルディレクトリに入れる. -
Error 43: Not a Valid Library File
→ sqlite3.libを自分で作る.
下記の手順.
1. SQLiteのDownloadページにあるPrecompiled Binaries for Windowsのところからdllをダウンロードする.
2. implibをダウンロードする.(dllからlibを作ってくれる)
3. コマンドラインでimplib /system sqlite3.lib sqlite3.dll
を実行する.(ファイルへのパスは適宜指定すること)
4. 作られたsqlite3.libをコンパイルディレクトリに入れる.
原因
この問題が起こる原因はよく理解してない.
Warning 2: File Not Found sqlite3.lib
についてはdubのバグとどこかに書いていた気がする.