AVRGCC porblem linkovani

Jan Smrz jan.smrz na email.cz
Úterý Květen 13 18:05:30 CEST 2014


Linkeru pridejte parametr -lm, aby prilinkoval i knihovnu math.

J.S.


On 05/13/2014 05:03 PM, Martin Locker wrote:
> Zdravím,
>
>
> pustil jsem se do projektu, kde jsem byl donucen použít goniometrické funkce.
>
> Kdysi už jsem něco zkoušel a nebyl problém.
>
>
> Ale v programu pro ATmega128 jsem použil funkci SIN a výsledek nejde slinkovat,
> a ne úplně rozumím hlášení linkeru.
>
>
> Pokud by mi mohl někdo poradit, co je špatně, tak bych byl moc vděčen.
>
>
> Řádek kódu, který to způsobí (pokud ho zakomentuju, tak to projde)
>
>
> double A;
> long l, x;
>
>
>    x=(long) (l * sin (a));
> a hlášení linkeru:
>
>
>
> avr-g++.exe  -o bin\Maxi.elf bin\IntRS485.o bin\Kompas.o bin\LCD.o bin\Main.o bin\RS485.o bin\Robot.o bin\SMC.o bin\Time.o bin\UART.o bin\i2c.o bin\CRC.o   -mmcu=atmega128 -Wl,--gc-sections,-Map=bin\Maxi.map,--cref
> d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr51\libm.a(fp_powsodd.o): In function `__fp_powsodd':
> (.text.fplib+0x10): relocation truncated to fit: R_AVR_13_PCREL against symbol `__mulsf3' defined in .text section in d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/avr51\libgcc.a(_mul_sf.o)
> d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr51\libm.a(fp_powsodd.o): In function `__fp_powsodd':
> (.text.fplib+0x20): relocation truncated to fit: R_AVR_13_PCREL against symbol `__mulsf3' defined in .text section in d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/avr51\libgcc.a(_mul_sf.o)
>
>
> Tipuju, že je problém v realokaci, ale proč?
>
>
> Díky
> Martin Locker
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list