Hallo, Ich hab mich entschlossen mein nächstes Avr Programm in C++ zuschreiben, da ich eigentlich aus der C++ Ecke komme und mich mit C noch nicht so richtig anfreunden konnte. Ich hab das Makefile auf C++ ausgerichtet und Visual Studio für das verwenden des Makefiles eingerichtet. Mitlerweile habe ich schon einige Klassen erstellt die Avr Standardfunktionen Kapseln und einige Testprogramme erstellt. Da ich abstrakte Basisklassen verwendet habe, habe ich jetzt ein Problem mit den vtables. Es wird mir einfach zuviel Ram verbraucht. Da bin Ich jetzt auf diese Seite gestoßen: http://ccrma.stanford.edu/planetccrma/man/man1/avr-g++.1.html. Dort habe ich die Option "-fvtable-gc" gefunden. Dabei werden nur Methoden die auch tatsächlich verwendet werden in die vtable aufgenommen. Also habe ich im Makefile unter "Compiler Options C++" folgendes hinzugefügt: "CPPFLAGS += -fvtable-gc" mit dem Ergebnis, dass sich nichts ändert. In der Ausgabe findet sich eine Zeile in der avr-gcc mit allen Optionen aufgerufen wird. Von "-fvtable-gc" fehlt aber jede Spur. Das selbe Problem hatte ich auch mit -S, als ich nur Assenbler Code ausgeben wolle.
Du wertest die Variable CPPFLAGS nich bei deinem gcc-Aufruf aus. Normalerweise heißen die auch CXXFLAGS. Ohne, dass du das Makefile postest wird das aber mit der Hilfe schwer....
Hab das Makefile mal angehängt. Es wurde mit MFile erstellt. CXXFLAGS kann ich darin nicht finden.
CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%. Die Zeile sieht mir nach einem Klammerfehler aus..
Stimmt. Richtig muss es "CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)" heißen. Das Problem besteht aber weiterhin.
Bei mir gibt der Compiler die Meldung cc1plus: warning: switch ‘-fvtable-gc’ is no longer supported aus. Du kannst ja mal nach den Gründen für den Rausschmiss dieser Option suchen.
und was ist mit -S? Das ging ja auch nicht. Ich kanns ja noch mal mit paar anderen Optionen versuchen.
Ich hab jetz verschiedene Optionen ausprobiert. Funktionieren alle nicht. Könntest du mal dein Makefile hochladen, damit ich es mal damit probieren kann?
Jetz gehts. Hab nochmal ein neues Makefile erstell und jetz gehts. Irgendetwas muss ich falsch gemacht haben. Allerdings bekomm ich die selbe Warnung wie du. Hat eigentlich schon jemand eine Möglichkeit gefunden die vtables in den Rom zu packen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.