реклама на сайте
подробности

 
 
> Ошибка линкера
ZAA
сообщение Apr 14 2008, 07:59
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906



При линковке возникла следующая ошибка (причём и раньше сатлкивалась с ней ,но так и не выяснила ,что она значит):
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

Может ,линкер не находит какую-то опцию??? ПОдскажите ,плз!!! Очень надо! help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xelax
сообщение Apr 14 2008, 08:43
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Линкер не может найти библиотечку c именем g Что-то типа g.a
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 14 2008, 09:15
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(xelax @ Apr 14 2008, 11:43) *
Линкер не может найти библиотечку c именем g Что-то типа g.a

а может libg.a


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 14 2008, 10:24
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(MrYuran @ Apr 14 2008, 12:15) *
а может libg.a
А мне кажется, что автор хочет подключить библиотеку libg.a, но ключ -l указывает не линкеру (ld), а gcc. Соответственно, когда команда доходит до линкера, линкер воспринимает -lg не как команду -l с параметром g, а как имя объектного файла, который и не может найти. Но я не вижу в командной строке -lg, вижу только -g. Вообще, эта командная строка являет собой какую-то дикую смесь из опций компилятора (-ffunction-sections -fdata-sections -Wall -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -MD -MP -MF .dep/main.elf.d), ассемблера (-Wa,-adhlns=common/Cstartup.lst) и линкера (--output main.elf -nostartfiles -Wl,-Map=main.map,--cref,--gc-sections -L./common -L../../ -lefsl -T./common/AT91SAM7S256-ROM.ld). Подозреваю, что причина в этом.

ZAA: прикрепите к сообщению архив с вашим makefile, похоже ошибка где-то в нем.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 06:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016