Я перекрестно скомпилированные приложения с CMake, генерируя .so файл для ARM v7, который позже включен в Android проекта:Не удалось найти символ __aeabi_memset в Android приложения
cmake ../src -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_NDK="/opt/android-ndk-r13b"
Когда я создаю APK и загрузить его на мобильный телефон. Приложение не запускается, производит следующее сообщение:
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed:
cannot locate symbol "__aeabi_memset" referenced by
"/data/app/org.qtproject.example/lib/arm/libexample.so"
Кажется, что Libc содержит __aeabi_memset, но я в настоящее время загрузки этой библиотеки в загрузчике. Что можно назвать этой функцией?
Я попытался с помощью понижая SDK к 22 API:
- Android SDK инструменты сборки 23.0.1
- Android 5.1.1 (API 22)
- CMake 3.7.2.
У меня такая же проблема, но только с устройствами на платформе MTK6580 с Android 6.0. Вы нашли способ исправить эту проблему? – Beyka
Я включил в проект Android статическую библиотеку, которая была скомпилирована с другой версией Android NDK. Проблема была решена путем компиляции всего с той же версией NDK. – lackadaisical