Android NDK Crash в libomp.so по адресу __kmpc_barrier с FluidSynth и OpenMPC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Android NDK Crash в libomp.so по адресу __kmpc_barrier с FluidSynth и OpenMP

Сообщение Anonymous »

Я разрабатываю приложение для Android, используя NDK, который воспроизводит MIDI -файлы с FluidSynth, интегрированным с фронтом Java.
Приложение сбивается с нативным сбоем в libomp.so по адресу __kmpc_barrier, и я подозреваю, что это связано с использованием OpenMP в Fluidsynth или моем нативном коде. происходит в потоке, не являющейся мэрией (Thread-63): < /p>
22:08:59.062 A Cmdline: com.example.testbpm
22:08:59.062 A Pid: 29282, tid: 30077, name: thread-63 >>> com.exexample.exexply.testbpm 22:08:59.062 A #00 PC 000000000004C2FC /Data/App/~~-wrpgwdxkyq8qtpeywjczq==/com.example.testbpm-9jz8ic94whx2gmcs0wymma = />22:08:59.062 A #08 PC 000000000005E188 /Data/App/.../base.apk!Libomp.so (__kmpc_barrier+320) /DATA/App/.../base.apk!Libomp.so (__kmp_invoke_microtask+156)
Настройка проекта
Язы OpenMP < /p>
ndk: r23 или более поздний < /p>
Функциональность: загружает MIDI + Soundfont, разделы PANSES (Intro, Main, Fill, Ending), поддерживает переходы и контроль темпа < /p>
Ansure -Anserier. синхронизация потока. Возможные причины: < /p>
Dynamic Skinking Проблема: libomp.so не правильно связан с Apk < /p>
Проблемы TLS на Android (не приводные потоки) < /p>
FluidSynth Internal OpenMP Confructing с STD :: Thread /STD :: MUTEX < /ptrabiate n-n-spastabitial :: std :: mutex < /ptrabiate n n ntd /std :: mutex < /ptrabiate n n ntd /std :: mutex < /pt n. Статическое связывание
Что я попробовал
обеспечить libomp.so загружается в mainActivity.java.
Используется std :: mutex для безопасности нити.
apk/perified lib/arm64-v8a/libomp.so. /> Протестировано на нескольких устройствах Android 12+ → CHASH сохраняется. -static-openmp) Чтобы избежать динамических проблем? Должен ли я поделиться своим cmakelists.txt?

Подробнее здесь: https://stackoverflow.com/questions/797 ... and-openmp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»