Кросс-компиляция и библиотеки

Во время кросс-компиляции я получил эту ошибку компоновщика:

/home/tech/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lfontconfig

Это командная строка g ++:

/home/tech/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/mnt/rasp-pi-rootfs/opt/vc/lib -Wl,-rpath-link,/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf -mfloat-abi=hard --sysroot=/mnt/rasp-pi-rootfs -Wl,-O1 -o fontconfig fontconfig.o   --sysroot=/mnt/rasp-pi-rootfs -lpthread -L/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/ -lfreetype -lfontconfig

А также

ls /mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/libfontconfig*

/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/libfontconfig.so.1
/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/libfontconfig.so.1.8.0

Я не понимаю, «почему» компоновщик не может найти эту библиотеку.
Что вы предлагаете сделать в таком случае для дальнейшего расследования?

0

Решение

Для компоновщика требуется библиотека импорта с расширением .a для операций компоновщика, поскольку он содержит сигнатуры классов и функций, необходимых компоновщику для компоновки, в то время как библиотеки .so являются общими объектами, используемыми во время выполнения.

Вам нужно найти каталог, в котором у вас есть libfontconfig.a (например: с помощью команды locate libfontconfig.a или ‘find / -name libfontconfig.a’), а затем добавить его в командную строку с помощью -L / path / of / directory ,

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]