2012-06-20 47 views
1

我一直在試圖讓我的Arduino/Eclipse環境設置。出於某種原因,我一直在鏈接器遇到問題。Eclipse Arduino鏈接器問題

這是我在嘗試構建時收到的錯誤。 那麼libgcc和libc有衝突嗎?

我按照這些說明很接近,但也有一些細微差別。

**** Build of configuration Debug for project CustomLEDPoi **** 

make all 
Building target: CustomLEDPoi.elf 
Invoking: AVR C++ Linker 
avr-gcc -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p -o "CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -lArduinoCore 
GNU ld (WinAVR 20081205) 2.19 
    Supported emulations: 
    avr2 
    avr1 
    avr25 
    avr3 
    avr31 
    avr35 
    avr4 
    avr5 
    avr51 
    avr6 
    avrxmega1 
    avrxmega2 
    avrxmega3 
    avrxmega4 
    avrxmega5 
    avrxmega6 
    avrxmega7 
cannot find script file ldscripts/avr5.x 
opened script file c:\users\justin\arduino\arduino-1.0\hardware\tools\avr\avr\bin\../lib\ldscripts/avr5.x 
using external linker script: 
================================================== 
/* Default linker script, for normal executables */ 
OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") 
OUTPUT_ARCH(avr:5) 
MEMORY 
{ 
    text  (rx) : ORIGIN = 0, LENGTH = 128K 
    data  (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0 
    eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K 
    fuse  (rw!x) : ORIGIN = 0x820000, LENGTH = 1K 
    lock  (rw!x) : ORIGIN = 0x830000, LENGTH = 1K 
    signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K 
} 
SECTIONS 
{ 
    /* Read-only sections, merged into text segment: */ 
    .hash   : { *(.hash)  } 
    .dynsym  : { *(.dynsym)  } 
    .dynstr  : { *(.dynstr)  } 
    .gnu.version : { *(.gnu.version) } 
    .gnu.version_d : { *(.gnu.version_d) } 
    .gnu.version_r : { *(.gnu.version_r) } 
    .rel.init  : { *(.rel.init)  } 
    .rela.init  : { *(.rela.init) } 
    .rel.text  : 
    { 
     *(.rel.text) 
     *(.rel.text.*) 
     *(.rel.gnu.linkonce.t*) 
    } 
    .rela.text  : 
    { 
     *(.rela.text) 
     *(.rela.text.*) 
     *(.rela.gnu.linkonce.t*) 
    } 
    .rel.fini  : { *(.rel.fini)  } 
    .rela.fini  : { *(.rela.fini) } 
    .rel.rodata : 
    { 
     *(.rel.rodata) 
     *(.rel.rodata.*) 
     *(.rel.gnu.linkonce.r*) 
    } 
    .rela.rodata : 
    { 
     *(.rela.rodata) 
     *(.rela.rodata.*) 
     *(.rela.gnu.linkonce.r*) 
    } 
    .rel.data  : 
    { 
     *(.rel.data) 
     *(.rel.data.*) 
     *(.rel.gnu.linkonce.d*) 
    } 
    .rela.data  : 
    { 
     *(.rela.data) 
     *(.rela.data.*) 
     *(.rela.gnu.linkonce.d*) 
    } 
    .rel.ctors  : { *(.rel.ctors) } 
    .rela.ctors : { *(.rela.ctors) } 
    .rel.dtors  : { *(.rel.dtors) } 
    .rela.dtors : { *(.rela.dtors) } 
    .rel.got  : { *(.rel.got)  } 
    .rela.got  : { *(.rela.got)  } 
    .rel.bss  : { *(.rel.bss)  } 
    .rela.bss  : { *(.rela.bss)  } 
    .rel.plt  : { *(.rel.plt)  } 
    .rela.plt  : { *(.rela.plt)  } 
    /* Internal text space or external memory. */ 
    .text : 
    { 
    *(.vectors) 
    KEEP(*(.vectors)) 
    /* For data that needs to reside in the lower 64k of progmem. */ 
    *(.progmem.gcc*) 
    *(.progmem*) 
    . = ALIGN(2); 
    __trampolines_start = . ; 
    /* The jump trampolines for the 16-bit limited relocs will reside here. */ 
    *(.trampolines) 
    *(.trampolines*) 
    __trampolines_end = . ; 
    /* For future tablejump instruction arrays for 3 byte pc devices. 
     We don't relax jump/call instructions within these sections. */ 
    *(.jumptables) 
    *(.jumptables*) 
    /* For code that needs to reside in the lower 128k progmem. */ 
    *(.lowtext) 
    *(.lowtext*) 
    __ctors_start = . ; 
    *(.ctors) 
    __ctors_end = . ; 
    __dtors_start = . ; 
    *(.dtors) 
    __dtors_end = . ; 
    KEEP(SORT(*)(.ctors)) 
    KEEP(SORT(*)(.dtors)) 
    /* From this point on, we don't bother about wether the insns are 
     below or above the 16 bits boundary. */ 
    *(.init0) /* Start here after reset. */ 
    KEEP (*(.init0)) 
    *(.init1) 
    KEEP (*(.init1)) 
    *(.init2) /* Clear __zero_reg__, set up stack pointer. */ 
    KEEP (*(.init2)) 
    *(.init3) 
    KEEP (*(.init3)) 
    *(.init4) /* Initialize data and BSS. */ 
    KEEP (*(.init4)) 
    *(.init5) 
    KEEP (*(.init5)) 
    *(.init6) /* C++ constructors. */ 
    KEEP (*(.init6)) 
    *(.init7) 
    KEEP (*(.init7)) 
    *(.init8) 
    KEEP (*(.init8)) 
    *(.init9) /* Call main(). */ 
    KEEP (*(.init9)) 
    *(.text) 
    . = ALIGN(2); 
    *(.text.*) 
    . = ALIGN(2); 
    *(.fini9) /* _exit() starts here. */ 
    KEEP (*(.fini9)) 
    *(.fini8) 
    KEEP (*(.fini8)) 
    *(.fini7) 
    KEEP (*(.fini7)) 
    *(.fini6) /* C++ destructors. */ 
    KEEP (*(.fini6)) 
    *(.fini5) 
    KEEP (*(.fini5)) 
    *(.fini4) 
    KEEP (*(.fini4)) 
    *(.fini3) 
    KEEP (*(.fini3)) 
    *(.fini2) 
    KEEP (*(.fini2)) 
    *(.fini1) 
    KEEP (*(.fini1)) 
    *(.fini0) /* Infinite loop after program termination. */ 
    KEEP (*(.fini0)) 
    _etext = . ; 
    } > text 
    .data : AT (ADDR (.text) + SIZEOF (.text)) 
    { 
    PROVIDE (__data_start = .) ; 
    *(.data) 
    *(.data*) 
    *(.rodata) /* We need to include .rodata here if gcc is used */ 
    *(.rodata*) /* with -fdata-sections. */ 
    *(.gnu.linkonce.d*) 
    . = ALIGN(2); 
    _edata = . ; 
    PROVIDE (__data_end = .) ; 
    } > data 
    .bss : AT (ADDR (.bss)) 
    { 
    PROVIDE (__bss_start = .) ; 
    *(.bss) 
    *(.bss*) 
    *(COMMON) 
    PROVIDE (__bss_end = .) ; 
    } > data 
    __data_load_start = LOADADDR(.data); 
    __data_load_end = __data_load_start + SIZEOF(.data); 
    /* Global data not cleared after reset. */ 
    .noinit : 
    { 
    PROVIDE (__noinit_start = .) ; 
    *(.noinit*) 
    PROVIDE (__noinit_end = .) ; 
    _end = . ; 
    PROVIDE (__heap_start = .) ; 
    } > data 
    .eeprom : 
    { 
    *(.eeprom*) 
    __eeprom_end = . ; 
    } > eeprom 
    .fuse : 
    { 
    KEEP(*(.fuse)) 
    KEEP(*(.lfuse)) 
    KEEP(*(.hfuse)) 
    KEEP(*(.efuse)) 
    } > fuse 
    .lock : 
    { 
    KEEP(*(.lock*)) 
    } > lock 
    .signature : 
    { 
    KEEP(*(.signature*)) 
    } > signature 
    /* Stabs debugging sections. */ 
    .stab 0 : { *(.stab) } 
    .stabstr 0 : { *(.stabstr) } 
    .stab.excl 0 : { *(.stab.excl) } 
    .stab.exclstr 0 : { *(.stab.exclstr) } 
    .stab.index 0 : { *(.stab.index) } 
    .stab.indexstr 0 : { *(.stab.indexstr) } 
    .comment 0 : { *(.comment) } 
    /* DWARF debug sections. 
    Symbols in the DWARF debugging sections are relative to the beginning 
    of the section so we begin them at 0. */ 
    /* DWARF 1 */ 
    .debug   0 : { *(.debug) } 
    .line   0 : { *(.line) } 
    /* GNU DWARF 1 extensions */ 
    .debug_srcinfo 0 : { *(.debug_srcinfo) } 
    .debug_sfnames 0 : { *(.debug_sfnames) } 
    /* DWARF 1.1 and DWARF 2 */ 
    .debug_aranges 0 : { *(.debug_aranges) } 
    .debug_pubnames 0 : { *(.debug_pubnames) } 
    /* DWARF 2 */ 
    .debug_info  0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } 
    .debug_abbrev 0 : { *(.debug_abbrev) } 
    .debug_line  0 : { *(.debug_line) } 
    .debug_frame 0 : { *(.debug_frame) } 
    .debug_str  0 : { *(.debug_str) } 
    .debug_loc  0 : { *(.debug_loc) } 
    .debug_macinfo 0 : { *(.debug_macinfo) } 
} 

================================================== 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crtm328p.o succeeded 
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crtm328p.o 
attempt to open ./src/glowstick2.o succeeded 
./src/glowstick2.o 
attempt to open ./lib/CShiftPWM.o succeeded 
./lib/CShiftPWM.o 
attempt to open ./lib/MeetAndroid.o succeeded 
./lib/MeetAndroid.o 
attempt to open ./lib/hsv2rgb.o succeeded 
./lib/hsv2rgb.o 
attempt to open ./arduinolib/HardwareSerial.o succeeded 
./arduinolib/HardwareSerial.o 
attempt to open ./arduinolib/SPI.o succeeded 
./arduinolib/SPI.o 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libArduinoCore.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libArduinoCore.a failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libArduinoCore.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a succeeded 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)wiring.c.o 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)wiring_digital.c.o 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)main.cpp.o 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)new.cpp.o 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)Print.cpp.o 
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)WString.cpp.o 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libgcc.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libgcc.a failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libgcc.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libgcc.a failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libgcc.so failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a succeeded 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_mulsi3.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_udivmodhi4.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_divmodhi4.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_udivmodsi4.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_exit.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_copy_data.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clear_bss.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_ctors.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_dtors.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_fixunssfsi.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_addsub_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_mul_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_div_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_gt_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_ge_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_lt_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_si_to_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_sf_to_si.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_thenan_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_usi_to_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_prologue.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_epilogue.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_tablejump.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clzsi2.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_pack_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_unpack_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_fpcmp_parts_sf.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clz.o 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libc.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libc.a failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libc.so failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libc.a failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libc.so failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libc.a failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/libc.so failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a succeeded 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)malloc.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)realloc.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atof.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atoi.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atol.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)isspace.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)tolower.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)toupper.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)memcpy.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)memmove.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strchr.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strcmp.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strcpy.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncmp.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncpy.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strrchr.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strstr.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)itoa.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)ltoa.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)mulsi10.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)mul10.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)ultoa.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)utoa.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strtod.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)cty_isfalse.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncasecmp_P.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strrev.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)cmpsf2.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)fp_cmp.o 
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)errno.o 
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a(cmpsf2.o): In function `__lesf2': 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libgcc.so failed 
(.text.fplib+0x0): multiple definition of `__ltsf2' 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libgcc.a failed 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libgcc.so failed 
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a(_lt_sf.o):(.text+0x0): first defined here 
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libgcc.a failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libgcc.so failed 
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a succeeded 
make: *** [CustomLEDPoi.elf] Error 1 

**** Build Finished **** 

回答

1

我意識到我沒有添加庫文件m。所以我使用add庫選項添加-lm。 make文件現在有這個命令。

avr-g++ -o"CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -larduino_core -lm -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p 

這仍然給了我同樣的問題。 在導望着http://arduino.cc/playground/Code/Eclipse 它說,

如果您正在使用C++則hex文件能得到真正的大。在 鏈接器菜單中,將命令更改爲avr-gcc並將命令行 更改爲以下格式:$ {COMMAND} --cref -s -Os $ {OUTPUT_FLAG} $ {OUTPUT_PREFIX} $ {OUTPUT} $ {INPUTS } -lm $ {FLAGS}

我的make文件現在有這個命令。

avr-g++ --cref -s -Os -o"CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -larduino_core -lm -lm -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p 
+0

爲什麼2 -lm會解決問題而不是單個問題? – Spectrem

0

這裏是在GCC鏈接描述爲ATmega32 (avr5) catastrohic錯誤: 數據(rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0

手動聲明:

(0xC6) UDR0 USART I/O Data Register 

的在地址(0xC6)將由用戶。數據被owerwritten