我正在尝试用 sqlcipher 替换 POCO 的 sqlite|在我的 Mac Lion 上。关于构建过程和替换的信息不多,但我想我应该试一试。
我有 sqlcipher 合并,然后我用 sqlcipher 替换了 Data/Sqlite/src Poco 目录中的 sqlite3.c 和 sqlite3.h,将 SQLITE_HAS_CODEC 和 SQLITE_TEMP_STORE=2 参数添加到 Makefile 并尝试构建这一切。
但是我收到以下错误:
Undefined symbols for architecture x86_64:
"_EVP_get_cipherbyname", referenced from:
_sqlcipher_activate in sqlite3.o
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
"_OPENSSL_add_all_algorithms_noconf", referenced from:
_sqlcipher_activate in sqlite3.o
"_RAND_bytes", referenced from:
_sqlcipher_random in sqlite3.o
"_EVP_CIPHER_key_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
"_EVP_CIPHER_iv_length", referenced from:
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
"_EVP_CIPHER_block_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
"_EVP_sha1", referenced from:
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
_sqlcipher_page_hmac in sqlite3.o
"_EVP_MD_size", referenced from:
_sqlcipher_codec_ctx_set_cipher in sqlite3.o
"_HMAC_CTX_init", referenced from:
_sqlcipher_page_hmac in sqlite3.o
"_HMAC_Init_ex", referenced from:
_sqlcipher_page_hmac in sqlite3.o
"_HMAC_Update", referenced from:
_sqlcipher_page_hmac in sqlite3.o
"_HMAC_Final", referenced from:
_sqlcipher_page_hmac in sqlite3.o
"_HMAC_CTX_cleanup", referenced from:
_sqlcipher_page_hmac in sqlite3.o
"_EVP_CipherInit", referenced from:
_sqlcipher_page_cipher in sqlite3.o
"_EVP_CIPHER_CTX_set_padding", referenced from:
_sqlcipher_page_cipher in sqlite3.o
"_EVP_CipherUpdate", referenced from:
_sqlcipher_page_cipher in sqlite3.o
"_EVP_CipherFinal", referenced from:
_sqlcipher_page_cipher in sqlite3.o
"_EVP_CIPHER_CTX_cleanup", referenced from:
_sqlcipher_page_cipher in sqlite3.o
"_PKCS5_PBKDF2_HMAC_SHA1", referenced from:
_sqlcipher_cipher_ctx_key_derive in sqlite3.o
ld: symbol(s) not found for architecture x86_64
有没有人试过这个?有人知道这个的潜在解决方法吗?谢谢!
最佳答案
那些是 OpenSSL 符号,因此您可能没有链接到 libcrypto。将 -lcrypto
添加到链接器标志。
关于sqlite - SQLCipher + POCO C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10945319/