Hallo Zusammen!
Ich verwende CooCox 1.7 mit einem STM32F407.
Bestimmte Funktionen sollen nun in einer eigenen Bibliothek gesammelt
werden.
Das funktioiert auch prächtig, solange keine Winkelfunktionen in der lib
zum Einsatz kommen. Verwendet man sin/cos, so meldet der Linker beim
Einbinden der Bibliothek "undefined reference to 'cos'".
Das kennt man ja, deswegen bindet man ja auch libm.a ein. Habe ich
sowohl im Bibliotheksprojekt als auch im Zielprojekt gemacht -
erfolglos.
Meine Linker Commandlines:
Target:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0;
-lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib;
-L${linkdir}; -T${linkdir}/arm-gcc-link.ld;
Library:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0;
-lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6
2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir};
-T${linkdir}/arm-gcc-link.ld;
Hat jemand eine Idee was ich vergessen haben könnte?
Danke!
Gast
#3525406
Hallo Zusammen!
Ich verwende CooCox 1.7 mit einem STM32F407.
Bestimmte Funktionen sollen nun in einer eigenen Bibliothek gesammelt
werden.
Das funktioiert auch prächtig, solange keine Winkelfunktionen in der lib
zum Einsatz kommen. Verwendet man sin/cos, so meldet der Linker beim
Einbinden der Bibliothek "undefined reference to 'cos'".
Das kennt man ja, deswegen bindet man ja auch libm.a ein. Habe ich
sowohl im Bibliotheksprojekt als auch im Zielprojekt gemacht -
erfolglos.
Meine Linker Commandlines:
Target:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0;
-lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib;
-L${linkdir}; -T${linkdir}/arm-gcc-link.ld;
Library:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0;
-lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6
2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir};
-T${linkdir}/arm-gcc-link.ld;
Hat jemand eine Idee was ich vergessen haben könnte?
Danke!
Hat jemand dafür eine Antwort?
Gast
#3525878
Marcus H. schrieb: > -mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0; > -lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib; > -L${linkdir}; -T${linkdir}/arm-gcc-link.ld; > > Library: > -mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0; > -lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6 > 2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir}; > -T${linkdir}/arm-gcc-link.ld; Dir ist schon klar dass das Semikolon ; ein Kommando beendet und somit alle darauffolgenden Parameter als seperate Befehle gelten? Wenn das eine statische Library sein soll - was sehr wahrscheinlich ist?!?! - wird die nicht gelinkt, daher gibts keine Linker Command Line.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.