У меня есть предварительно скомпилированные двоичные файлы набора инструментов arm-linux-gnueabihf GCC. Хост - x86_64, а целевой целью является архитектура arm7. Я могу кросс-компилировать пример программы, используя этот кросс-компилятор, но он не может связываться с динамическими библиотеками. На хосте я использую:
arm-linux-gnueabihf -c -o test test.c
Скомпилированный исполняемый файл с командой ldd показывает следующий вывод на хосте и цели:
ldd ./test
not a dynamic executable
Тем не менее, я использую тот же исходный код и компилируюсь на цели, я наблюдаю:
ldd ./test
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e29000)
/lib/ld-linux-armhf.so.3 (0xb6f18000)
Вся концепция линкера кажется сложной в случае кросс-компиляции. Существует ли стандартный способ связывания общих динамических библиотек при кросс-компиляции?