Как использовать общую библиотеку с Android на Raspberry PiAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как использовать общую библиотеку с Android на Raspberry Pi

Сообщение Anonymous »

У меня есть общая библиотека с закрытым исходным кодом, изначально созданная для Android, которую я хочу использовать на Raspberry Pi. Проблема в следующем:

Код: Выделить всё

/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `__cxa_atexit@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `calloc@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `malloc@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `free@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `memset@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `memcpy@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `raise@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `__cxa_finalize@LIBC'
/usr/bin/ld: /usr/lib/libfoo.so: undefined reference to `abort@LIBC'
Скорее всего, это связано с тем, что в glibc нет таких символов.
Самым простым решением было бы (вероятно) создать библиотеку-оболочку с этими функциями, которые просто вызову те, что есть в glibc. Однако неясно, как создавать функции с @ в середине их имен.
Другим решением может быть каким-то образом модификация самого libfoo.so (я пробовал заменить требование libc.so на libc .so.6 с использованием patchelf, но безуспешно).
Возможно, лучшим вариантом (но самым сложным и потребует гораздо больше работы) будет реверс-инжиниринг этой библиотеки. Вероятно, я сделаю это в будущем, но сейчас мне нужно простое решение, которое просто работает.
Что мне следует сделать, чтобы оно заработало?

Подробнее здесь: https://stackoverflow.com/questions/688 ... spberry-pi
Ответить

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

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

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

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

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