Символ "align_alloc" отсутствует при загрузке OpenAL Soft

Я скомпилировал OpenAL Soft с NDK r17.1.4828580, используя следующую команду:

cmake -DCMAKE_SYSTEM_NAME=Android -DANDROID_NDK=$$ANDROID_NDK_HOME \
    -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DALSOFT_BACKEND_OSS=OFF \
    -DCMAKE_BUILD_TYPE=Release -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
    -DALSOFT_BACKEND_WAVE=OFF ..

В CMakeLists.txt OpenAL Soft есть проверка на align_alloc, которая, кажется, новая функция в C11. Проверка и сборка завершаются успешно, но когда я пытаюсь загрузить полученный libopenal.so с помощью dlopen, я получаю следующее сообщение об ошибке:

dlopen(libopenal.so): dlopen failed: cannot locate symbol "aligned_alloc" referenced by "/data/app/com.bixense.jngl_test-2/lib/arm/libopenal.so"...

Есть ли какой-нибудь общий объектный файл C11 stdlib, который мне нужно загрузить первым?

1 ответ

Переходя -DCMAKE_ANDROID_API=23 чтобы CMake это исправил, так как это приведет к:

-- Looking for aligned_alloc - not found

Думаю, я бы смог загрузить общую библиотеку на телефон Android с Oreo (API уровень 26) или новее.

Другие вопросы по тегам