对于运行代码来说,这是一种全新的体验。遵循本教程,我尝试使用MinGW msys方法在Windows8上构建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发布于 2016-03-31 19:19:06
对于那些有同样问题的人来说,here就是答案。
实际上,一切都是正确的。只需使用sqlcipher.exe而不是sqlcipher调用,因为sqlcipher二进制文件已经存在于某处。
https://stackoverflow.com/questions/34068014
复制相似问题