Код: Выделить всё
/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. Однако неясно, как создавать функции с @ в середине их имен.
Другим решением может быть каким-то образом модификация самого libfoo.so (я пробовал заменить требование libc.so на libc .so.6 с использованием patchelf, но безуспешно).
Возможно, лучшим вариантом (но самым сложным и потребует гораздо больше работы) будет реверс-инжиниринг этой библиотеки. Вероятно, я сделаю это в будущем, но сейчас мне нужно простое решение, которое просто работает.
Что мне следует сделать, чтобы оно заработало?
Подробнее здесь: https://stackoverflow.com/questions/688 ... spberry-pi
Мобильная версия