2012-04-11 80 views
0

我无法在Windows上构建sqlcipher并使用这些stepsSQLCipher Windows Build

install Win32 OpenSSL v0.9.8m 
install TclTk 
rename MINGWPATH/bin/tclsh84.exe to tclsh.exe 

cd sqlcipher 
$ ./configure --disable-tcl --disable-amalgamation 

CFLAGS="-DSQLITE_HAS_CODEC -I../OpenSSL/include /c/Windows/System32/libeay32.dll" 
$ make 
$ make dll 
$ make install 

在链接阶段,GCC给出了这样的错误:

libtool: link: gcc -g -O2 -DSQLITE_OS_WIN=1 -I. -I./src -I./ext/rtree -D_HAVE_SQ 
LITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_OMIT_LOAD_E 
XTENSION=1 -DHAVE_READLINE=0 -o .libs/sqlite3.exe ./src/shell.c ./.libs/libsqli 
te3.a -lpthread -L/usr/local/lib 
./.libs/libsqlite3.a(func.o): In function `sqlite3RegisterBuiltinFunctions': 
c:\sqlcipher/./src/func.c:1439: **undefined reference to `sqlcipher_exportFunc**' 
collect2: ld çıkış durumu 1 ile döndü 
make: *** [sqlite3.exe] Error 1 

回答

1

你忘了为文档指定定义SQLITE_TEMP_STORE

我可以证实它在github上Ubuntu的工作顺利12.04 LTS,与最新的源代码:

enter image description here

总之动态链接:

./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2" LDFLAGS="-lcrypto"