Jak dodać libomp.so do APK?

Jak dodać libomp.so do APK?
Marius.Maximus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2202
0

Kod używany na Windows i Linux chciałem uruchomić na Android

Jak w koncepcji QtCreator dodać plik .so do docelowej aplikacji ?

w cmake mam ustawione globalnie

Kopiuj
set(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -fopenmp") # albo /openmp dla MSVC 

Nie widzę w cmake innych flag związanych z OpenMP, na Windows i Linux wszystko działa poprawnie

Aplikacja sie buduje, powstaje APK ,
uruchamiam i jest błąd

Kopiuj
dlopen failed: library "libomp.so" not found

Jak to powinno być poprawnie zrobione ?
W cmake skopiować plik do folderu z bibliotekami z których potem powstaje APK ? Trochę to prowizorka ;)

A może da się wymusić statyczne linkowanie, bo z tego co widzę we wszystkich NDK jakie posiadam obok dynamicznej wersji libomp.so jest statyczna wersja libomp.a
I to by była chyba najlepsza wersja

Marius.Maximus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2202
0

QT_ANDROID_EXTRA_LIBS umożliwi umieszczenie biblioteki w APK
dodatkowo musimy użyć zmiennej ANDROID_NDK + ANDROID_ABI do ustalenia poprawnej wersji libomp.so
I voilà !

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.