Bei dem Versuch c++ Templates von ARM gcc 5.4.1 auf avr zu portieren geschehen "seltsame" dinge ;-) Ich habe das Atmel Studio 7 auf das neueste upgedatet, das hat 45min gedauert aber auch nichts gebracht. Wenn ich ein praktisch leeres C++ executable Projekt erstelle und übersetze funktioniert es problemlos. Für meinen Test brauchte ich aber C++11 unterstützung und sobald ich -std=c++11 bei den Optionen eingebe bringt die Übersetzung von main.cpp keinen Fehler aber erzeugt kein main.o und das mag der Linker natürlich nicht und bringt Fehlermeldung. Error main.o: No such file or directory und Error recipe for target 'GccApplication1.elf' failed In beiden Fällen sind noch keine Templates im Spiel sondern nur main und while(1) sonst nichts. --version gibt gcc 5.4.0 aus. Im Compiler Explorer gibt es leider nur avr gcc 4.6.4 und der kann kein c++11. Hat jemand eine Idee was das sein könnte ?
Hans-Georg L. schrieb: > Hat jemand eine Idee was das sein könnte ? Wäre es nicht praktisch, wenn Du Dein Projekt hier einstellst? Nur so, damit man es nachvollziehen kann. Eine Angabe der Ziel-Umgebung (Prozessor) hätte auch Vorteile ...
bitteschön wenn es dir hilft ;-)
1 | int main(void) |
2 | {
|
3 | /* Replace with your application code */
|
4 | while (1) |
5 | {
|
6 | |
7 | |
8 | }
|
9 | }
|
Dieser Code compiliert fehlerfrei ohne die option -std=c++11 und mit der Option nicht. Und wenn ich einen AVR Compiler verwende wird es auch für einen AVR sein und der Code enthält nichts Device spezifisches.
:
Bearbeitet durch User
Du hast bereits geschrieben: der Compiler kann kein c++11. Was erwartest du dann? Resp erwartest du falsch. Grüsse, René
René H. schrieb: > Du hast bereits geschrieben: der Compiler kann kein c++11. > > Was erwartest du dann? Resp erwartest du falsch. > > Grüsse, > Wenn er es nicht könnte würde er mir eine Fehlermeldung für falsche Option bringen. Der AVR gcc vom Compiler Explorer 4.6.4 kann es nicht Der AVR gcc 5.4.0 vom Atmel Studio sollte es können und um den geht es hier. Der ARM gcc 5.4.1(none) vom Compiler Explorer kann es.
Mist es war mein Fehler ... ich wollte auch die Version von gcc ausgeben und habe die Option --version dafür verwendet damit wird aber nicht compiliert sondern nur die Version ausgegeben ! Die richtige Option für compilieren und version ausgeben ist: -dumpversion Hier noch ein link zu gcc und c++ standards. https://gcc.gnu.org/projects/cxx-status.html
Die richtige Toolchain besorgen: ******************************* Beitrag "Re: gibts irgendwo eine fertige AVR-GCC Toolchain mit Make fertig.." Die Toolchain in AtmelStudio installieren: ***************************************** Beitrag "Re: constexpr in Atmel Studio nicht verfügbar?" Den richtigen c++ Dialekt wählen: ******************************** Solution Explorer Project - Properties Toolchain AVR/GNU C++compiler-Miscellaneous -std=c++xx // max= -c++2a
Dankeschön guter Tip wenn ich mal mehr wie C++14 brauche :-)) Hast du auch einen Tip wie man eine lokale Version unter Windows 7 vom Compiler Explorer anlegt und Toolchains einbindet ?
:
Bearbeitet durch User
@ Hans-Georg L ************** Unter Win7 - MSYS2: Ich habe für eine lokale Kopie von Compiler-Explorer noch keine Lösung. Hinweise gerne willkommen. ---------------------------------------------------------------------- Unter Linux Mint18.2/X86_64: Die Toolchain avr-gcc-8.3.0-x64-linux.tar.bz2 von ************************************************* http://blog.zakkemble.net/avr-gcc-builds/ entpacken. In /home/USER/bin das Unterverzeichnis mit der Toolchain einfügen und den Linux-PATH entsprechend anpassen. Die Anleitung: C++ Weekly - Ep 83 - Installing Compiler Explorer **************************************************************** https://www.youtube.com/watch?v=I2cKVRzJhS0 anwenden und dabei in compiler-explorer/etc/config/c++.local.properties den Pfad zum avr-gcc-8.3.0 eintragen.
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.