3

Mac Lionで POCO の sqlite をsqlcipherに置き換えようとしています。ビルドプロセスと交換に関してはあまり情報がありませんが、試してみるべきだと思いました.

私はsqlcipherの融合を手に入れました.Data / Sqlite / src Pocoディレクトリのsqlite3.cとsqlite3.hをsqlcipherのものに置き換え、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

誰もこれを試したことがありますか?誰かがこれに対する潜在的な修正を知っていますか? ありがとう!

4

1 に答える 1

4

これらは OpenSSL シンボルであるため、おそらく libcrypto に対してリンクしていません。-lcryptoリンカー フラグに追加します。

于 2012-06-08T12:45:38.790 に答える