首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLCipher + POCO C++

SQLCipher + POCO C++
EN

Stack Overflow用户
提问于 2012-06-08 16:20:07
回答 1查看 1.5K关注 0票数 3

我正试着在我的Mac Lion上用sqlcipher替换POCO的sqlite。关于构建过程和替换,没有太多的信息,但是我想我应该试一试。

我得到了sqlcipher合并,然后我将Data/Sqlite/src Poco目录中的sqlite3.c和sqlite3.h替换为sqlcipher中的sqlite3.c和sqlite3.h,将SQLITE_HAS_CODEC和SQLITE_TEMP_STORE=2参数添加到Makefile中,并尝试构建整个代码。

然而,我得到了以下错误:

代码语言:javascript
复制
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

以前有人试过这个吗?有没有人知道解决这个问题的潜在方法?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-08 20:45:39

这些都是OpenSSL符号,所以您可能没有链接到libcrypto。将-lcrypto添加到链接器标志。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10945319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档