Forum: Compiler & IDEs Kompilierprobleme mit WinAVR-20100110


von Peter B. (pbuenger)


Lesenswert?

Mahlzeit,

ich wollte gerade ein etwas älteres AVR-Projekt neu kompilieren. Also 
schnell mal den "aktuellsten" WinAVR geholt und installiert. Leider gibt 
es damit Linkerfehler der Art:
1
relocation truncated to fit: R_AVR_13_PCREL against symbol `__udivmodsi4' 
2
defined in .text.libgcc section in 
3
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr51\libgcc.a(_udivmodsi4.o)

Hier im Forum habe ich dann Hinweise von Euch gefunden, dass dies mit 
fehlerhaften Bibliotheken zusammenhängt. Ich habe dann das Makefile 
geändert und "-nostdlib -lm -lc -lgcc" zu den LDFLAGS hinzugefügt, ohne 
jedoch zu wissen, was diese Switche denn genau bewirken. Jetzt 
kompiliert das Projekt zwar, aber es fehlt Code, beispielsweise die 
Reset- und Interruptvektoren.

Da ich mir hier jetzt nicht weiterhelfen kann, habe ich kurzerhand den 
älteren WinAVR-20090313 installiert, der macht jedenfalls keine 
Probleme.

Jetzt frage ich mich allerdings, wieso da ein WinAVR freigegeben wurde, 
der offensichtlich Probleme mit den Bibliotheken hat.

Gruß,
Peter

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Warum -nostdlib? Damit entfernst du alle Bibliotheken.

von Peter B. (pbuenger)


Lesenswert?


von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Dorst steht aber -lm -lc -lgcc -lc. Ausserdem gibt's Unterschiede 
zwischen C und C++, was du verwendest ist nicht ersichtlich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.