Символ «align_alloc» отсутствует при загрузке OpenAL Soft - PullRequest
0 голосов
/ 25 июня 2018

Я скомпилировал 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 Ответ

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

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

-- Looking for aligned_alloc - not found

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

...