运行代码相当新鲜。我试着在本教程之后使用MinGW msys方法在Windows 8上构建sqlcipher:http://www.jerryrw.com/howtocompile.php#
所有代码似乎运行良好来构建sqlcipher,但是当我在命令提示符下测试它时,我收到此错误:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Owner>cd c:\sqlcipher
c:\sqlcipher>sqlcipher test.db
sqlcipher: FATAL: Couldn't find sqlcipher.
有人有任何想法吗?构建应该已经创建了一个sqlcipher可执行dll文件和一个合并的sqlite3.c文件。在搜索上,找到了sqlite3.c但没有找到dll文件。构建代码是:
./configure --with-crypto-lib=none --disable-tcl CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I/c/opensslbuild32/include /c/sqlcipher/libeay32.dll -L/c/sqlcipher/ -static-libgcc" LDFLAGS="-leay32"
make clean
make sqlite3.c
make
make dll
我认为错误发生在make dll代码中,这里是:
$ make dll
echo 'EXPORTS' >sqlite3.def
nm .libs/sqlite3.o | grep ' T ' | grep ' _sqlite3_' \
| sed 's/^.* _//' >>sqlite3.def
gcc -DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL - I/c/opensslbuild32/include /c
/sqlcipher/libeay32.dll -L/c/sqlcipher/ -static-libgcc -DSQLITE_OS_WIN=1 -I. -I/
c/sqlcipher/src -I/c/sqlcipher/ext/rtree -I/c/sqlcipher/ext/fts3 - D_HAVE_SQLITE_
CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -shared -o sqlite3.dll
sqlite3.def \
-Wl,"--strip-all" .libs/sqlite3.o
答案 0 :(得分:1)
对于遇到相同问题的人,here就是答案。
实际上一切都是正确的。只需使用sqlcipher.exe而不是sqlcipher调用,因为sqlcipher二进制文件已经存在于某个地方。