OpenSSL Mac неопределенный символ - PullRequest
0 голосов
/ 22 июня 2011

Я разрабатываю TLSclient для MAC и немного строю свой проект на MACOSX (очень хорошо работает на linux) и особенно использую библиотеки openssl.

Вот моя консольная ошибка, которую янадеюсь, вы могли бы помочь мне разобраться с:

gcc   -lpthread  -o *.o /opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libssl.a /opt//local/var/macports/software/openssl97/0.9.7m_0/opt/local/lib/openssl97/lib/libcrypto.a  -ldl 
Undefined symbols:
  "_SSL_CTX_set_info_callback", referenced from:
      _MTLSServer_Setup in MTLSServer.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [mtls_server] Error 1

Спасибо за вашу помощь

1 Ответ

1 голос
/ 22 июня 2011

В OpenSSL 0.9.7 SSL_CTX_set_info_callback - это макрос, и ваш код пытается связаться с функцией. Это, вероятно, означает, что у вас нет правильного пути к заголовкам.

Я немного озадачен другими вещами в командной строке:

  • Почему вы статически связываетесь со старой версией OpenSSL 0.9.7. Последние версии Mac OS X содержат 0.9.8.
  • Кажется, -o *.o ошибка, это должно быть -o something *.o
  • Аргумент -lpthread должен быть после libcrypto.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...