Как указать на наличие crtbeginS.o при кросс-компиляции под ARM?
Решил тут заняться кросс-комплияцией приложения на linux x86_64 под ARM,но в процессе сего действия возникла один проблема.
Действовал я по следующим инструкциям: Инструкции по кросс-компиляции под ARM
Выполняемая команда выглядит следующий образом:
arm-linux-gnueabihf-gcc -mfpu=vfpv3 -mcpu=cortex-a9 -mfloat-abi=hard --sysroot=$HOME/LibreAPP/sysroot/pluto-0.39.sysroot -std=gnu99 -g -o ~/LibreAPP/build/libre_stream $HOME/LibreAPP/main_prog/test1.c -lpthread -liio -lm -Wall -Wextra
Ошибка выглядит следующий образом:
/tools/Xilinx/Vitis/2022.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/x86_64-petalinux-linux/usr/bin/arm-xilinx-linux-gnueabi/arm-xilinx-linux-gnueabi-ld.real: cannot find crtbeginS.o: No such file or directory
Как я понял, этот файл является стандартным для используемого кросс-компилятора и его можно найти в файлах кросс-комплиятора. Мне удалось его найти по следующему пути:
/usr/local/bin/gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/7.2.1
Подскажите пожалуйста, как указать кросс-комплиятору,что такой файл всё-таки существует,чтобы продолжить продолжить выполнение программы?
Ответы (1 шт):
/tools/Xilinx/.../x86_64-petalinux-linux/usr/bin/ у вас в переменной PATH.
поправьте её.
Какой из компиляторов пытается запуститься смотрите через программу which