Компиляция OpenSSL для android ndk r17b - PullRequest
0 голосов
/ 02 июля 2018

Я пытался Как собрать и интегрировать OpenSSL в ваш проект Android NDK - блог Скоттиаба , но у него были проблемы:

Сообщение об ошибке

openssl/x86_64/lib/libcrypto.a(eng_openssl.o):eng_openssl.c:function test_rc4_init_key: error: undefined reference to 'stderr'
openssl/x86_64/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function close_console: error: undefined reference to 'stdin'
openssl/x86_64/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function close_console: error: undefined reference to 'stderr'
openssl/x86_64/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function open_console: error: undefined reference to 'stdin'
openssl/x86_64/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function open_console: error: undefined reference to 'stderr'

Я пытался Сбой компиляции с android ndk r15b · Проблема № 3826 · Комментарий openssl / openssl , и он действительно удалил одну из ошибок, но остальные остались. Сбой компиляции с android ndk r15b · Выпуск # 3826 · Комментарий openssl / openssl предлагает использовать --deprecated-headers, тоже не работает.

NDK: проблема с унифицированными заголовками · Проблема № 445 · Комментарий android-ndk / ndk говорит, что проблема решена. Я попытался установить CFLAGS=-D__ANDROID_API__=$API, но это не помогло.

Я также попытался использовать clang в качестве компилятора и получил

clang: error: unknown argument: '-mandroid'

Android Studio: ошибка clang: неизвестный аргумент: ответ '-mandroid' имеет хорошее объяснение этого.

На самом деле faisal00813 / openssl_for_ios_and_android: библиотека OpenSSL для iOS и Android fork использует clang в качестве компилятора, и ошибка -mandroid устранена, но все еще получает undefined reference to 'stdin'

1 Ответ

0 голосов
/ 02 июля 2018

Я, наконец, использовал willyliu / build-openssl-android: Сборка openssl 1.1.0h с android ndk r17. , и она отлично работала. Мой форк david-hoze / build-openssl-android: Сборка openssl 1.1.0h с android ndk r17. содержит некоторые мелкие исправления

...