2009-06-05 8 views
1

Ich versuche WinMARM 4.1.1 zu verwenden, um Objektdateien für ein BREW-Projekt zu kompilieren und zu verknüpfen. Ich habe angefangen, diese Seite zu benutzen: http://brew.wardco.com/.Fehler beim Verknüpfen von BREW-Objekten unter WinARM4.1x

Zunächst ist zu beachten, dass ich dies erfolgreich unter der GNUDE-Werkzeugkette bearbeitet habe. Als ich nach WinARM umgeschaltet, bekam ich zunächst daran zu arbeiten, bis ich merkte, dass ich -Lc hatte:/gnude/Arm-Elf/lib statt -Lc:/WinARM/Arm-Elf/lib in meinem Linker-Bibliothekspfad. Ich möchte natürlich nicht, dass beide Systeme in meiner Umgebung vorhanden sind. die WinARM Bibliothek Pfad bewirkt, dass Sie mir die folgenden Linkfehler zu erhalten:

c:/WinARM/arm-elf/lib\libsupc++.a(eh_personality.o): In function `read_encoded_value_with_base': 
c:/winarms/gcc-4.1.1/gcc/unwind-pe.h:259: undefined reference to `abort' 
c:/WinARM/arm-elf/lib\libsupc++.a(eh_personality.o): In function `base_of_encoded_value': 
c:/winarms/gcc-4.1.1/gcc/unwind-pe.h:122: undefined reference to `abort' 
c:/winarms/gcc-4.1.1/gcc/unwind-pe.h:122: undefined reference to `abort' 
c:/WinARM/arm-elf/lib\libsupc++.a(eh_personality.o): In function `size_of_encoded_value': 
c:/winarms/gcc-4.1.1/gcc/unwind-pe.h:90: undefined reference to `abort' 
c:/WinARM/arm-elf/lib\libsupc++.a(eh_terminate.o): In function `__cxxabiv1::__terminate(void (*)())': 
../../../../../gcc-4.1.1/libstdc++-v3/libsupc++/eh_terminate.cc:44: undefined reference to `abort' 
c:/WinARM/arm-elf/lib\libsupc++.a(eh_terminate.o):../../../../../gcc-4.1.1/libstdc++-v3/libsupc++/eh_terminate.cc:46: more undefined references to `abort' follow 
c:/WinARM/arm-elf/lib\libc.a(fopen.o): In function `_fopen_r': 
fopen.c:(.text+0x48): undefined reference to `_open_r' 
c:/WinARM/arm-elf/lib\libc.a(freer.o): In function `_malloc_trim_r': 
mallocr.c:(.text+0x48): undefined reference to `_sbrk_r' 
mallocr.c:(.text+0x64): undefined reference to `_sbrk_r' 
mallocr.c:(.text+0x84): undefined reference to `_sbrk_r' 
c:/WinARM/arm-elf/lib\libc.a(fseek.o): In function `_fseek_r': 
fseek.c:(.text+0x158): undefined reference to `_fstat_r' 
fseek.c:(.text+0x1b0): undefined reference to `_fstat_r' 
c:/WinARM/arm-elf/lib\libc.a(makebuf.o): In function `__smakebuf': 
makebuf.c:(.text+0x3c): undefined reference to `_fstat_r' 
makebuf.c:(.text+0x110): undefined reference to `isatty' 
c:/WinARM/arm-elf/lib\libc.a(mallocr.o): In function `_malloc_r': 
mallocr.c:(.text+0x424): undefined reference to `_sbrk_r' 
mallocr.c:(.text+0x4cc): undefined reference to `_sbrk_r' 
c:/WinARM/arm-elf/lib\libc.a(stdio.o): In function `__sclose': 
stdio.c:(.text+0xc): undefined reference to `_close_r' 
c:/WinARM/arm-elf/lib\libc.a(stdio.o): In function `__sseek': 
stdio.c:(.text+0x30): undefined reference to `_lseek_r' 
c:/WinARM/arm-elf/lib\libc.a(stdio.o): In function `__swrite': 
stdio.c:(.text+0x84): undefined reference to `_lseek_r' 
stdio.c:(.text+0xac): undefined reference to `_write_r' 
c:/WinARM/arm-elf/lib\libc.a(stdio.o): In function `__sread': 
stdio.c:(.text+0xd0): undefined reference to `_read_r' 
c:/WinARM/arm-elf/lib\libc.a(syswrite.o): In function `write': 
syswrite.c:(.text+0x24): undefined reference to `_write_r' 
C:\WinARM/lib/gcc/arm-elf/4.1.1/\libgcc.a(unwind-sjlj.o): In function `_Unwind_RaiseException_Phase2': 
../../../gcc-4.1.1/gcc/unwind.inc:75: undefined reference to `abort' 
C:\WinARM/lib/gcc/arm-elf/4.1.1/\libgcc.a(unwind-sjlj.o): In function `_Unwind_SjLj_Resume': 
../../../gcc-4.1.1/gcc/unwind.inc:238: undefined reference to `abort' 
C:\WinARM/lib/gcc/arm-elf/4.1.1/\libgcc.a(unwind-sjlj.o): In function `_Unwind_SjLj_Resume_or_Rethrow': 
../../../gcc-4.1.1/gcc/unwind.inc:263: undefined reference to `abort' 
NMAKE : fatal error U1077: 'C:\WinARM\bin\arm-elf-ld.EXE' : return code '0x1' 
Stop. 

Ich bin nicht sicher, wie diese Lösung zu nähern; Es scheint, dass ich irgendwo einen Weg verpasse, aber welchen Weg? Ich stelle fest, dass "c: \ winarms \ gcc-4.1.1 ..." "Pfade" aufgelistet sind ... das ist kein Ort auf meinem Computer. Ist es eine Bibliotheksreferenz?

Jeder Einblick wäre willkommen.

Antwort

0

Haben Sie versucht, c: \ WinARM \ lib \ gcc \ arm-elf \ 4.1.1? Ihr lib-Pfad kann auch davon abhängen, welche Art von Befehlssatz Sie verwenden. Ich benutze etwas wie c: \ blahblah \ WinARM \ lib \ gcc \ arm-elf \ 4.1.1 \ thumb, weil ich die meisten meiner Quellen in den Daumen-Befehlssatz baue.