我目前正在将旧版本的 OpenSSL 修补到最新的稳定 1.0.0o 版本(通过 import_openssl.sh),以便通过 NDK r10c 与 Android 应用程序一起使用。
在构建 libssl.so 共享库时,出现以下错误。
[armeabi] SharedLibrary : libssl.so
jni/openssl/ssl/s3_enc.c:542: error: undefined reference to 'ssl3_cbc_remove_padding'
jni/openssl/ssl/s3_enc.c:739: error: undefined reference to 'ssl3_cbc_record_digest_supported'
jni/openssl/ssl/s3_enc.c:764: error: undefined reference to 'ssl3_cbc_digest_record'
jni/openssl/ssl/s3_pkt.c:464: error: undefined reference to 'ssl3_cbc_copy_mac'
jni/openssl/ssl/t1_enc.c:763: error: undefined reference to 'tls1_cbc_remove_padding'
jni/openssl/ssl/t1_enc.c:919: error: undefined reference to 'ssl3_cbc_record_digest_supported'
jni/openssl/ssl/t1_enc.c:925: error: undefined reference to 'ssl3_cbc_digest_record'
jni/openssl/ssl/ssl_lib.c:1058: error: undefined reference to 'dtls1_min_mtu'
以第一个错误为例,我可以在文件 s3_enc.c ( https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/s3_enc.c ) 中看到对函数 'ssl3_cbc_remove_padding' 的引用,但是实际功能无处可见,只有 ssl_locl.h 中的原型(https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/ssl_lib.c)所以我有点困惑。
为了清除这些错误,我们将不胜感激任何帮助或以前的经验。如果您需要我进一步详细说明,请询问。