carrayロード可能な拡張子をsqlite3シェルで使用しようとしていますが、恐ろしいメッセージが表示されます。Error: %1 is not a valid Win32 application.
これはsqliteの問題なのかどうかわかりません。私はすでに公式のドキュメントやいくつかの関連する質問(例えばhere)を読んでいますが、これらのリソースによればが表示されています。私はすでにすべてのことを正しくやっていることをが示しています。sqliteでcarray loadable拡張子を使用する方法
carrayソースコードをダウンロードしました。compiledはMSVCで正常にダウンロードできました。コンパイルオプションは、 "\のSRC" でsqlite3ext.h
とsqlite3.h
へのパスを含む、ここに示されています。
cl carray.c /I..\src /link /dll /out:carray.dll
これが生成します。carray.dll
、carray.obj
、carray.lib
、およびcarray.exp
。 sqlite3のシェルで
がコンパイルされたコードと同じディレクトリに始めた、私は次のエラーを取得する - コンパイル拡張ロードするには、いくつかの異なる方法を試みる:
C:\SQLite\src\ext>sqlite3
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .load carray ----- Try without the extension.
Error: %1 is not a valid Win32 application.
sqlite> .load carray.dll ----- Oh, I should use the extension.
Error: The specified module could not be found.
sqlite> .load ./carray ----- OK...maybe? Nope.
Error: %1 is not a valid Win32 application.
sqlite> SELECT load_extension('./carray.dll'); ----- Time to ask SO.
Error: The specified module could not be found.
を私は別のオプションを使用して再コンパイルしてみましたシステムアーキテクチャーを指定するには同じエラーが発生します。何かヒント?
システム詳細:SQLiteの3.16.2、Windowsの10の64ビット、MSのVisual Studio 14(2015)