PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Makefile mit MFile



prospam
12.10.2004, 16:58
Hy,
Habe Schwierigkeiten das Makefile mit MFile für C++ anzupassen.

Was ich schon weiss ;) :
1. meine main heißt main.cpp deswegen:
SRC = $(TARGET).cpp
2. muß ein paar Zeillen auskommentieren:
# $(REMOVE) $(OBJ)
# $(REMOVE) $(LST)
# $(REMOVE) $(SRC:.c=.s)
# $(REMOVE) $(SRC:.c=.d)
sonst löscht "make clean" meine Quellen...

Was nebenbei passiert 8-[ :
1. bekomme follgende Warnings vom Linker:
Linking: main.elf
avr-gcc -mmcu=atmega64 -I. -gstabs -O0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.cpp -std=gnu99 -Wp,-M,-MP,-MT,main.o,-MF,.dep/main.elf.d main.cpp RelaisSchalter.cpp --output main.elf -Wl,-Map=main.map,--cref -lm
cc1plus.exe: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
... ist das beunruhigend ?
2. die main.cpp wir überschrieben
3. aber mein .cof File funktioniert mit AVRStudio.

Was ich wissen will :| :
1. wo finde ich einen "fertigen" Makefile für C++ bzw. wie geht eine schnelle Anpassung ?

demerzel
14.10.2004, 22:58
such mal bei google oder bei mikrocontroller.net nach "mfile"
ciao peter

prospam
15.10.2004, 10:56
8) Hehe, klingt ein bischen wie: Ohne Schweiß kein Preis.
Na ja, ich kenne schon die Seite:
http://www.sax.de/~joerg/mfile/
Was ich vermeiden wollte ist der Satz:
"Mfile has mainly been written to help AVR-GCC developers to quickly setup a Makefile for their project. Don't worry, they'll eventually realize that studying the make manual will be worth its time, too :-)"
d.h. vermeiden daß ich mich selber in Makefiles und überhaupt GCC Flags und Einstellungen im Detail groß einarbeite.
Hab aber bisher kein Glück bei der Suche nach einem fertigen C++ Makefile gehabt. :(
Klar, da stellt sich die Frage warum überhaupt C++ und AVR, aber stellen wir sie einfach hier zurück.
Vielen Dank aber.

15.10.2004, 11:32
deine fehler sehen ein bisschen danach aus das du befehle benutzt die es in c++ nicht gibt - also must du die headerdateien miteinbinden die du für diese befehle benötigst, vielleicht klappt es ja dann.
ciao peter

KristofB
03.12.2007, 10:20
Hi Prospam,

Was ist daraus geworden? Ich versuche auch gerade meine Makefiles anzupassen, komme aber nicht bis zu einem fertigen executable.
Hast Du's hinbekommen? Ich wäre dankbar, wenn Du ein passendes File posten könntest..

danke!

-Kristof

ogni42
07.12.2007, 10:40
Einfach den Compiler umsetzen: Statt avr-gcc nimm avr-g++

mahoo
30.12.2007, 16:05
Hi,
habe auch noch 2 Fragen bezgl. C++.
In der RP6 Lib wird ja oft mit int8_t, uint8_t usw. gearbeitet.

Was nehme ich da dann am besten in C++ als alternative?

Wo trage ich im makefile die RP6 Lib files ein? Habe es mal in SRC gelassen. Wenn ich jedoch mit code sage
#include RP6RobotBaseLib.c

bringt der Compiler eine Fehlermeldung und ich müsste die exakten Pfad eingeben:
#include ../LIB/RP6RobotBaseLib.c

Jedoch müsste er es doch vom makefile her wissen?!