ld: не удается найти crt1.o: нет такого файла или каталога

Я кросс-компилирую заявку на сборку yocto с помощью bitbake. Он компилируется нормально, но связывание завершается с ошибкой ниже.

/gcc/arm-poky-linux-gnueabi/5.3.0/ld: cannot find crt1.o: No such file or directory

Также не удалось связать другие файлы crti.o и crtbegin.o. Я не уверен, какой каталог нужно добавить в LDFLAGS. Он ищет директорию lib toolchain или gcc lib?


person anbu    schedule 25.10.2016    source источник
comment
Почему бы вам просто не попробовать найти нужный файл? На моем ПК (другая цепочка инструментов) он находится в {...}\arm-unknown-linux-gnu\sys-root\usr\lib\crt1.o   -  person tum_    schedule 25.10.2016


Ответы (1)


Просто попробуйте выполнить компиляцию puts("Hello world") с помощью cc hello.c (других вариантов нет). Если все еще есть такая же проблема, скорее всего, ваш набор инструментов установлен неправильно, иначе проверьте параметры компоновщика, возможно, вы настраиваете, чтобы не находить стандартные библиотеки.

Надеюсь, поможет.

person juansolsona    schedule 25.10.2016
comment
Компилятор искал файлы библиотеки по стандартному пути /usr/lib/ вместо каталога /usr/lib набора инструментов. Учитывая --sysroot=${STAGING_DIR_TARGET}/ что, в свою очередь, помогает найти целевой путь. - person anbu; 21.12.2016