현재 NDK r10c를 통해 Android 응용 프로그램과 함께 사용하기 위해 OpenSSL의 이전 버전을 최신 stable 1.0.0o 빌드 (import_openssl.sh를 통해)로 패치하고 있습니다.OpenSSL libssl.so 오류 'ssl3_cbc_remove_padding'에 대한 정의되지 않은 참조
libssl.so sharedlibrary를 빌드하는 동안 다음과 같은 오류가 표시됩니다. 예를 들어 첫 번째 오류 촬영
[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'
, 난 곳 ssl_locl에만 원형, 보지되어야 할 함수 'ssl3_cbc_remove_padding'그러나 실제 함수 파일 s3_enc.c (https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/s3_enc.c)에 대한 참조를 볼 수있다. h (https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/ssl_lib.c) 그래서 나는 약간 혼란 스럽다.
이러한 오류를 해결하려면 도움이나 이전 경험을 높이 평가하십시오. 더 자세히 설명해야한다면, 물어보십시오.
1.0.0 및 1.0.1은 이진 호환됩니다. 왜 최신 1.0.1을 사용하고 하위 기능 문제 및 패치 문제를 피할 수 있습니까? – jww
0.9.8zc 버전을 빌드 할 때 동일한 종류의 문제에 직면하고 있습니다. 어떤 이유로 0.9.8zc 버전을 사용해야했습니다. 이 문제에 대한 해결책이 있습니까? 또한 독립형 NDK 프로젝트를 만들고 openssl을 빌드하면 모든 것이 정상입니다. 하지만 실제 프로젝트에 동일한 코드를 포함하면이 문제가 발생합니다. – gmuhammad