将OpenSSL与PJSIP集成构建错误

时间:2017-09-11 07:15:15

标签: ios gcc openssl voip pjsip

将最新的OpenSSL库与PJSIP集成时会出现以下错误。

使用以下命令使用PJSIP编译Openssl 1.1.0f。

  

./配置-iphone   --with-SSL = /用户/ nexgetech01 /下载/ OpenSSL的换iPhone主/ bin中/ iPhoneOS10.3-armv7.sdk /

它使用openssl成功编译并准备进行构建。

之后,我使用以下命令使用PJSIP构建OpenSSL库。

  

制作dep&&使干净&&使

在构建它时会出现以下错误。

Undefined symbols for architecture armv7:
  "_SSL_library_init", referenced from:
      _init_openssl in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
  "_SSL_load_error_strings", referenced from:
      _init_openssl in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
  "_TLSv1_method", referenced from:
      _create_ssl in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
  "_TLSv1_server_method", referenced from:
      _init_openssl in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
  "_X509_get_notAfter", referenced from:
      _get_cert_info in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
  "_X509_get_notBefore", referenced from:
      _get_cert_info in libpj-armv7-apple-darwin_ios.a(ssl_sock_ossl.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../bin/pjlib-test-armv7-apple-darwin_ios] Error 1
make[1]: *** [pjlib-test-armv7-apple-darwin_ios] Error 2
make: *** [all] Error 1

1 个答案:

答案 0 :(得分:0)

检查PJSIP门票后,PJSIP开发人员修复了这个错误。我将展示如何更容易地解决上述错误。

请在以下路径中打开 ssl_sock_ossl.c 文件,

  

$(PJSIP_DIR)/pjlib/src/pj/ssl_sock_ossl.c

按照以下PJSIP链接覆盖ssl_sock_ossl.c文件。

使用以下链接在ssl_sock_ossl.c中正确添加绿色线条。

https://trac.pjsip.org/repos/changeset/5623

https://trac.pjsip.org/repos/ticket/1999