Цитата(ZAA @ Apr 14 2008, 10:59)

При линковке возникла следующая ошибка (причём и раньше сатлкивалась с ней ,но так и не выяснила ,что она значит):
Linking: main.elf
arm-elf-gcc -mcpu=arm7tdmi -I. -g -DROM_RUN -DVECTORS_IN_ROM -D__WinARM__ -D__WINARMSUBMDL_AT91SAM7S256__ -O0 -ffunction-sections -fdata-sections -Wall -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=common/Cstartup.lst -I./common -I../../inc -I../../conf -MD -MP -MF .dep/main.elf.d common/Cstartup.o common/swi_handler.o common/Cstartup_SAM7.o main.o dbgu.o syscalls.o swi_handler_user.o systime.o --output main.elf -nostartfiles -Wl,-Map=main.map,--cref,--gc-sections -L./common -L../../ -lefsl -T./common/AT91SAM7S256-ROM.ld
/src/gnutools/arm-elf/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: cannot find -lg
collect2: ld returned 1 exit status
make: *** [main.elf] Ошибка 1
Может ,линкер не находит какую-то опцию??? ПОдскажите ,плз!!! Очень надо!

Линкер не находит библиотеку libg.a
Эта библиотека то же самое что и libc.a но с отладочной информацией.
Цитата(Сергей Борщ @ Apr 14 2008, 13:24)

А мне кажется, что автор хочет подключить библиотеку libg.a, но ключ -l указывает не линкеру (ld), а gcc.
gcc без ключа -c выполняет линковку путем запуска ld.
Но для встраиваемых приложений (типа arm-elf-gcc) лучше использовать arm-elf-ld явно.
То есть разделить компиляцию и линковку, и выполнять компиляцию с ключем -c а потом уже линковать все полученные *.o файлы путем вызова arm-elf-ld
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.