SQL
SQLite3
dlang
dub
Windows10

Windows上のD言語でSQLite3を使うときに出るsqlite3.libまわりのエラーの解消

問題

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のバグとどこかに書いていた気がする.