OpenSSL ECC функция с MacOS XCode? - PullRequest
1 голос
/ 24 декабря 2011

Я пытаюсь использовать функцию EC_KEY_new_by_curve_name (NID_secp256k1), присутствующую в openssl. Однако при компиляции я получаю следующую ошибку:

    undefined symbols for architecture x86_64:
  "_EC_KEY_new_by_curve_name", referenced from:
      CKey::CKey() in bitcoin.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Мне намекают, что macos openssl не компилируется с расширениями ECC. Это проблема? Если да, то как мне это исправить?

1 Ответ

1 голос
/ 24 декабря 2011

Если вы используете библиотеку OpenSSL, поставляемую с MacOS SDK, в нее автоматически должна быть встроена 64-битная поддержка.

Глядя на первый хит в Google , мне интересно, если вы просто не включили правильную библиотеку в свой проект XCode. Вы внесли -lcrypto в настройки проекта или забыли добавить libCrypto.dylib в свой список библиотек в проекте?

На моем компьютере SnowLeopard (10.6) я вижу символы, определенные в libCrypto:

[/usr/lib]:; nm -arch x86_64 libcrypto.0.9.8.dylib | egrep -i new_by_curve
00000000000a4ac0 T _EC_GROUP_new_by_curve_name
00000000000ab540 T _EC_KEY_new_by_curve_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...