ld: не може да намери crt1.o: Няма такъв файл или директория

Съставям кръстосано заявление за arm в yocto build с помощта на bitbake. Компилира се добре, но свързването е неуспешно с грешка по-долу.

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

Освен това не успя да свърже други файлове crti.o и crtbegin.o. Не съм сигурен коя директория трябва да се добави в LDFLAGS. Дали търси arm toolchain lib dir или gcc lib dir?


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 на toolchain. Дадено е --sysroot=${STAGING_DIR_TARGET}/, което от своя страна помага да се намери целевият път. - person anbu; 21.12.2016