2013-04-11 151 views
1

當我編譯在MacOS 64位SQLCIPHER編譯SQLCipher在Mac OS 10.8(64位)

./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2" LDFLAGS="/Users/administrator/Documents/openssl/lib/libcrypto.a" 

我得到32位的lib libsqlite3.a 但我需要一個64位libsqlite3.a

我怎樣才能做這個?

回答

0

您是否驗證過您正在連接64位版本的libcrypto.a,因爲它似乎是您自己構建OpenSSL的?如果要從x86_64的源代碼構建OpenSSL,則需要運行./Configure darwin64-x86_64-cc。在系統上找到的OpenSSL版本應該包含i386和x86_64版本的架構,所以你不需要重建OpenSSL。你能運行file .libs/sqlite並在編譯後顯示輸出嗎?

4

新版本的SQLCIPHER不再需要OpenSSL。

您首先需要配置構建,這些是CommonCrypto的建議設置,而不是SSL作爲加密提供程序。

./configure --enable-load-extension --enable-tempstore=yes \ 
--with-crypto-lib=commoncrypto \ 
CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_ENABLE_FTS3" \ LDFLAGS="/System/Library/Frameworks/Security.framework/Versions/Current/Security" 

然後,你需要使它:

make 

你會得到一個64位的靜態鏈接庫SQLLite。