Во время кросс-компиляции я получил эту ошибку компоновщика:кросс-компиляции и библиотеки
/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
Это г ++ в командной строке:
/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
Я надеваю «Не понимаю», почему «компоновщик не может найти эту библиотеку. Что вы предлагаете сделать в таком случае для дальнейшего расследования?
Благодарим за объяснение! Я установил статические библиотеки (установив пакет -dev). Для этой конкретной библиотеки это сработало! Но для другого с той же ошибкой этого не произошло. Пример: до того, как я обнаружил ошибку libicui18n, установка -dev-пакета с .a-файлами приводит к другому: libicui18n.so: неопределенная ссылка на '[email protected]_1.3.8 '. Но на этот раз он говорит об простоте * .so. – Mark
Не могли бы вы поделиться командой компиляции? –
/home/tech/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu = vfp -mtune = arm1176jzf-s -march = armv6zk -mabi = aapcs-linux -mfloat-abi = hard --sysroot =/mnt/rasp-pi-rootfs -O2 -std = gnu ++ 0x -Wall -W -fPIC -I. -I/usr/include/x86_64-linux-gnu -I/usr/include/freetype2 -I/usr/include -I ../../../ mkspecs/devices/linux-rasp-pi-g ++ -o icu.o icu.cpp – Mark