Не удалось загрузить динамическую библиотеку, во флаттере возникла неверная магическая ошибка ELF. ⇐ C++
Не удалось загрузить динамическую библиотеку, во флаттере возникла неверная магическая ошибка ELF.
Я пытаюсь использовать пакет ffi, чтобы иметь возможность использовать C++ для использования mediapipe. Для начала я хочу выполнить простую функцию printf.
#include недействительный продукт_landmarks() { printf("Привет, по крайней мере это работает."); } Я скомпилировал общую библиотеку с помощью: g++ -shared -o Produce_landmarks.so -fPIC Produce_landmarks.cpp
Затем я помещаю этот файл .so в следующую структуру папок: android/app/app/src/jniLibs/arm64-v8a/produce_landmarks.so
Затем я также добавил следующие инструкции в свой файл AndroidManifest.xml
Теперь я пытаюсь:
final Dynamic = DynamicLibrary.open('produce_landmarks.so'); окончательная функция void() Produce_landmarks = Dynamic.lookupFunction('produce_landmarks'); произвести_ориентиры(); Когда я пытался использовать другой путь, я всегда получал сообщение о том, что путь/файл не найден. По крайней мере, теперь я не получаю эту ошибку, а вместо этого получил вот это:
Недопустимый аргумент(ы): не удалось загрузить динамическую библиотеку 'produce_landmarks.so': ошибка dlopen: "/data/app/~~WBEv1F4KjMIeZUnNQYr1XQ==/com.example.mm_gym_tracker-HNS3OELpzcrnR0-wbVZFow==/ lib/arm64/produce_landmarks.so» имеет плохую магию ELF: 4d5a9000 Я хочу, чтобы мой printf отображался в выводе отладки без каких-либо ошибок.
Я пытаюсь использовать пакет ffi, чтобы иметь возможность использовать C++ для использования mediapipe. Для начала я хочу выполнить простую функцию printf.
#include недействительный продукт_landmarks() { printf("Привет, по крайней мере это работает."); } Я скомпилировал общую библиотеку с помощью: g++ -shared -o Produce_landmarks.so -fPIC Produce_landmarks.cpp
Затем я помещаю этот файл .so в следующую структуру папок: android/app/app/src/jniLibs/arm64-v8a/produce_landmarks.so
Затем я также добавил следующие инструкции в свой файл AndroidManifest.xml
Теперь я пытаюсь:
final Dynamic = DynamicLibrary.open('produce_landmarks.so'); окончательная функция void() Produce_landmarks = Dynamic.lookupFunction('produce_landmarks'); произвести_ориентиры(); Когда я пытался использовать другой путь, я всегда получал сообщение о том, что путь/файл не найден. По крайней мере, теперь я не получаю эту ошибку, а вместо этого получил вот это:
Недопустимый аргумент(ы): не удалось загрузить динамическую библиотеку 'produce_landmarks.so': ошибка dlopen: "/data/app/~~WBEv1F4KjMIeZUnNQYr1XQ==/com.example.mm_gym_tracker-HNS3OELpzcrnR0-wbVZFow==/ lib/arm64/produce_landmarks.so» имеет плохую магию ELF: 4d5a9000 Я хочу, чтобы мой printf отображался в выводе отладки без каких-либо ошибок.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можете ли вы встроить динамическую библиотеку C ++ (.so) в библиотеку "обертки" C
Anonymous » » в форуме C++ - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-