Forum: Compiler & IDEs Atmel Studio 7 und C++11


von Hans-Georg L. (h-g-l)


Angehängte Dateien:

Lesenswert?

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 ?

von Dieter F. (Gast)


Lesenswert?

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 ...

von Hans-Georg L. (h-g-l)


Angehängte Dateien:

Lesenswert?

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
von René H. (Gast)


Lesenswert?

Du hast bereits geschrieben: der Compiler kann kein c++11.

Was erwartest du dann? Resp erwartest du falsch.

Grüsse,
René

von Hans-Georg L. (h-g-l)


Lesenswert?

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.

von Hans-Georg L. (h-g-l)


Lesenswert?

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

von MitLeserin (Gast)


Lesenswert?

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

von Hans-Georg L. (h-g-l)


Lesenswert?

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
von A. B. (Gast)


Angehängte Dateien:

Lesenswert?

@ 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
Noch kein Account? Hier anmelden.