将 OpenSSL 与 PJSIP 构建错误集成
Integrating OpenSSL with PJSIP build error
将最新的 OpenSSL 库与 PJSIP 集成时出现以下错误。
使用以下命令使用 PJSIP 编译 Openssl 1.1.0f。
./configure-iphone
--with-ssl=/Users/nexgetech01/Downloads/OpenSSL-for-iPhone-master/bin/iPhoneOS10.3-armv7.sdk/
它提供了使用 openssl 的成功编译,并准备好进行构建。
之后,我使用以下命令使用 PJSIP 构建 OpenSSL 库。
make dep && make clean && make
构建时出现以下错误。
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
检查 PJSIP 票证后,PJSIP 开发人员修复了此错误。我将展示如何更轻松地修复上述错误。
请打开以下路径中的ssl_sock_ossl.c文件,
$(PJSIP_DIR)/pjlib/src/pj/ssl_sock_ossl.c
按照下面的 PJSIP link 覆盖 ssl_sock_ossl.c 文件。
使用以下 link.
在 ssl_sock_ossl.c 中正确添加绿色线条
将最新的 OpenSSL 库与 PJSIP 集成时出现以下错误。
使用以下命令使用 PJSIP 编译 Openssl 1.1.0f。
./configure-iphone --with-ssl=/Users/nexgetech01/Downloads/OpenSSL-for-iPhone-master/bin/iPhoneOS10.3-armv7.sdk/
它提供了使用 openssl 的成功编译,并准备好进行构建。
之后,我使用以下命令使用 PJSIP 构建 OpenSSL 库。
make dep && make clean && make
构建时出现以下错误。
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
检查 PJSIP 票证后,PJSIP 开发人员修复了此错误。我将展示如何更轻松地修复上述错误。
请打开以下路径中的ssl_sock_ossl.c文件,
$(PJSIP_DIR)/pjlib/src/pj/ssl_sock_ossl.c
按照下面的 PJSIP link 覆盖 ssl_sock_ossl.c 文件。
使用以下 link.
在 ssl_sock_ossl.c 中正确添加绿色线条