我是這個社區的新手,因爲我從未創建過帳戶並提出過問題,但我一直都在使用本網站來解決我的編程問題。所以謝謝!不過,這次我找不到符合我確切需求的另一個問題。如果這是重複,我表示歉意。AVR:Relocation truncated to fit
我在基本操作系統0.2(盧娜),Ubuntu 12.04的衍生物。我正在使用avr-gcc庫來編譯ATmega32u4微處理器的程序。我編寫了這個程序幾次,因爲我開發它,但直到現在我沒有收到這個錯誤。我在下面粘貼它。
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/libc.a(log.o):../../../libm/fplib/log.S:100: relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in /usr/lib/gcc/avr/4.5.3/avr5/libgcc.a(_addsub_sf.o)
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/libc.a(modf.o):../../../libm/fplib/modf.S:90: relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in /usr/lib/gcc/avr/4.5.3/avr5/libgcc.a(_addsub_sf.o)
collect2: ld returned 1 exit status
make: *** [main.elf] Error 1
總之,我不知道這是指什麼。我的程序包含大量文件,所以我不能在這裏完整地發佈整個文件。相反,我會對以下問題的一般回答感興趣:
- 什麼是「重定位被截斷以適合」錯誤?我讀過它與訪問太遠的內存有關,但在C程序中實際發生了什麼?
- 什麼是R_AVR_13_PCREL?這似乎是avr-gcc庫固有的;我的程序的哪個方面可能涉及這樣一個變量?
- 我包含的唯一一般C頭是math.h;其他文件是我自己的。我知道math.h有一個時髦的標誌,應該放在Makefile中;我相信這是-lm。 但我試過這個無濟於事。
非常感謝大家。我很感謝這個社區的幫助。
這將有助於http://stackoverflow.com/questions/10486116/what-does-this-gcc-error-relocation-truncated-to-fit-mean ?? ?? – alkis
潛在的令人討厭的浮點輔助函數。也許你的芯片內存太少了? – 2013-12-07 22:40:42
甚至這個http://stackoverflow.com/questions/8188849/avr-linker-error-relocation-truncated-to-fit ?? – alkis