当我在MacOS 64bit上编译SQLCIPHER时
./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 :(得分:6)
新版本的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库。
答案 1 :(得分:0)
您是否已验证是否正在链接64位版本的libcrypto.a
,因为您自己正在构建OpenSSL?如果要从x86_64的源代码构建OpenSSL,则需要运行./Configure darwin64-x86_64-cc
。在系统上找到的OpenSSL版本应包含i386和x86_64版本的体系结构,因此您不需要重建OpenSSL。你可以运行file .libs/sqlite
并在编译后显示输出吗?