当我在 MacOS 64 位上编译 SQLCIPHER
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2" LDFLAGS="/Users/administrator/Documents/openssl/lib/libcrypto.a"
我得到 32bit lib libsqlite3.a 但我需要一个 64bit libsqlite3.a
我怎么能做到这一点?
当我在 MacOS 64 位上编译 SQLCIPHER
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2" LDFLAGS="/Users/administrator/Documents/openssl/lib/libcrypto.a"
我得到 32bit lib libsqlite3.a 但我需要一个 64bit libsqlite3.a
我怎么能做到这一点?
新版本的 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 库。
您是否已验证您正在链接 64 位版本,libcrypto.a
因为您似乎正在自己构建 OpenSSL?./Configure darwin64-x86_64-cc
如果您从 x86_64 的源代码构建 OpenSSL,您将需要运行。在系统上找到的 OpenSSL 版本应该包含架构的 i386 和 x86_64 版本,因此您不需要重新构建 OpenSSL。你能file .libs/sqlite
在编译后运行并显示输出吗?