OpenSSL под Android в Qt
Запись от Wyn размещена 18.01.2016 в 18:22
Показов 8829
Комментарии 1
|
Мини-руководство по тому, как быстро скомпилировать OpenSSL для Android и связать его с проектом Qt. Для Linux. Вначале действия полностью идентичны "расово-верному" руководству по компилянию OpenSSL для Android: Качаем исходники openssl нужной версии с их сайта, качаем setenv-android.sh(все ссылки на закачку выше по ссылке). Ложим их в одну папку. Запускаем консоль, переходим в ней в эту самую папку. Далее:
Дальше возвращаемся в консоль:
Однако, есть обходной приём - нужно заменить *.so.x.x.x на *_x_x_x.so. Простым переименованием файлов данную проблему здесь, разумеется, не решить. Нужно лезть внутрь и переименовывать soname и внутренние ссылки на другие versioned shared object. В интернете есть много способов по подобному переименованию. Большинство из них обещают райскую жизнь с rpl, забывая упомянуть, что утилита уже давно отпета и закопана на большинстве дистрибутивов. Или хитро-хитро редактируют makefile, что в итоге на место левой руки собирается правая нога. В целом множество путей из разряда "как потратить много времени на полную фигню". В итоге предлагаю решить данную проблему методом топора: Качаем hex-редактор, если ещё нет(в моём случае таковым оказался Okteta). Запускаем его из под рута(kdesu okteta), открываем в нём файлы openssldir/lib/libcrypto.so.1.0.0. Заменяем(ctrl+r) в нём символы ".so.1.0.0" на char "_1_0_0.so". Проделываем тоже самое с libssl.so.1.0.0. Всё, теперь осталось только переименовать сами файлы(в libcrypto_1_0_0.so и libssl_1_0_0.so) и поправить ссылки libssl.so и libcrypto.so, чтобы они вели на них. Чтобы подключить и использовать данную библиотеку в проекте нужно добавить в .pro:
На этом всё. | |||||||||||||||
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
-
Как под Винду такое провернуть?Запись от GregoryE размещена 19.03.2018 в 01:05


