Edited at

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