Forum: Compiler & IDEs constexpr in Atmel Studio nicht verfügbar?


von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich verwende die aktuelle AS 7.0 Version.

Schreibe ich constexpr wird dieses schon nicht blau. Unbekannt?
Dagegen ist es in der Autovervollständigung enthalten. Seltsam.
1
constexpr uint16_t test (uint8_t a, uint8_t b) {
2
  return (uint16_t) (a+b);
3
}
4
5
constexpr uint16_t _test = test (11, 4);
6
7
8
int main(void)
9
{
10
 ...
11
 ... verwende _test ...
12
 ...

Ich bekomme folgende Meldung:
constexpr does not name a typ
identifier constexpr is a keyword in C++ 11

Wie kann man constexpr verwenden?
Muss man dafür eine Lib inkludieren?

von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hallo,

lies doch bitte deine Fehlermeldung.
Diese besagt, dass der Compiler sogar erkennt, dass das ein C++11 
Keyword ist, aber es nicht beachtet. Das bedeutet, dass er einen älteren 
Standard nutzt.

Der Compiler hinter dem Atmel Studio ist der GCC. Dieser hat gewisse 
Commandline-Options, die unter anderem auch den verwendeten C++-Standard 
angeben. Standard ist glaube ich noch C++98 (don't quote me on this).
http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

Du musst deinem Compiler (g++) also das Flag -std=c++11 bzw. 
-std=gnu++11 (oder höher) mitgeben. Sollte sich unter den 
Compiler-Einstellungen finden lassen.

Nebenbei: syntax-highlighting und Compiler hängen nicht zusammen.

Mit freundlichen Grüßen,
N.G.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:

> ich verwende die aktuelle AS 7.0 Version.

Die erstmal nichts grundegend darüber aussagt, welcher Compiler da
drunter ist.  Der ist nämlich austauschbar.

> identifier constexpr is a keyword in C++ 11
>
> Wie kann man constexpr verwenden?

Indem man dem Compiler sagt, dass er C++11-Code compilieren soll:
-std=c++11.  Wie du das dem Studio da sagst, musst du schon mal selbst
gucken gehen.  Bestimmt haben sie irgendwo einen Knopf dafür.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

Fehlermeldung lesen und wissen was gemeint ist so eine Sache.  :-)

Ich hätte nicht gedacht das in AS 7.0 noch nicht C++ 11 aktiviert ist. 
Da bin ich echt verdutzt.

Danke.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

habs gefunden wo,

Projekt > Eigenschaften > Toolchain > C++ Compiler > Miscellaneous >
other flags:   -std=c++11
eintragen

...  compiliert    :-)


Danke.

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> habs gefunden wo,
>
> Projekt > Eigenschaften > Toolchain > C++ Compiler > Miscellaneous >
> other flags:   -std=c++11
> eintragen
>
> ...  compiliert    :-)
>
>
> Danke.

Dann probiert doch gleich mal -std=c++17 aus ;-)

von Rolf M. (rmagnus)


Lesenswert?

Wilhelm M. schrieb:
> Dann probiert doch gleich mal -std=c++17 aus ;-)

Eine solche Option unterstützt nicht mal der aktuelle gcc 7.2. Aber 
-std=c++1z sollte gehen.

von Wilhelm M. (wimalopaan)


Lesenswert?

Rolf M. schrieb:
> Wilhelm M. schrieb:
>> Dann probiert doch gleich mal -std=c++17 aus ;-)
>
> Eine solche Option unterstützt nicht mal der aktuelle gcc 7.2. Aber
> -std=c++1z sollte gehen.

In gcc 7.2.1. schon ;-)

In gcc-8 geht schon c++20a.

von MitLeserin (Gast)


Lesenswert?

Die Toolchain avr-gcc-8.0_2017-07-19_mingw32 ist verfügbar unter:
****************************************************************
https://sourceforge.net/projects/mobilechessboar/files/avr-gcc%20snapshots%20(Win32)/

Package Name und Package Base Path in AtmelStudio eintragen
***********************************************************
SolutionExplorer | Project: rechte Maustaste: Propreties | Advanced | 
Link: Tools>Options>Toolchain>FlavourConfiguration | 
Atmel-8Bit-CPP-language | Package Name und Package Base Path eintragen.


Package in AtmelStudio auswählen
********************************
SolutionExplorer | Project: rechte Maustaste: Propreties | Advanced | 
Toolchain Flavour | neue Toolchain auswählen.

von Rolf M. (rmagnus)


Lesenswert?

Wilhelm M. schrieb:
> In gcc 7.2.1. schon ;-)
>
> In gcc-8 geht schon c++20a.

Sind aber beide noch nicht offiziell released.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

MitLeserin schrieb:
> Die Toolchain avr-gcc-8.0_2017-07-19_mingw32 ist verfügbar unter:
> 
https://sourceforge.net/projects/mobilechessboar/files/avr-gcc%20snapshots%20(Win32)/

Das ist nur ein Snapshot, dessen Intention es war, bessere 
ISR-Optimierung zu haben, z.B. für
1
#include <avr/interrupt.h>
2
3
ISR (INT0_vect)
4
{
5
}

sowie der Support für avrxmega3.

http://gcc.gnu.org/gcc-8/changes.html#avr

von Veit D. (devil-elec)


Lesenswert?

Welche Version ist denn nun aktuell und stabil?
Wenn zeitgleich eine 6.4.1 und eine 7.1.1 rauskommt, das zeugt das nicht 
gerade von stabil ...

von Rolf M. (rmagnus)


Lesenswert?

Veit D. schrieb:
> Welche Version ist denn nun aktuell und stabil?

Siehe https://gcc.gnu.org/

> Wenn zeitgleich eine 6.4.1 und eine 7.1.1 rauskommt, das zeugt das nicht
> gerade von stabil ...

Warum nicht? Ist Windows 10 auch instabil, weil es noch Updates für 
Windows 8 gibt?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Veit D. schrieb:
> Wenn zeitgleich eine 6.4.1 und eine 7.1.1 rauskommt, das zeugt das nicht
> gerade von stabil ...

Es zeugt davon, dass es Release-Reihen gibt, in denen ausschließlich 
Probleme behoben werden und keine neuen Features, Optimierungen, 
Umstrukturierungen etc., enthalten sind.

Die Ahnzahl der supporteten Release-Reihen (momentan 2 plus 1 für 
aktuelle Entwicklung, d.h. 3 offene Branches) richten sich auch nach der 
Anzahl der Entwickler, Tester und Release-Manager, die entsprechende 
Aufgaben zu übernehmen bereit sind.

Wenn dir dieses Modell zu unsicher ist, kannst du zu einer Software 
wechseln, die keinen Bugtracker hat da intrinsisch korrekt und Fehler 
daher unmöglich sind.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

also wäre eine 6er Version stabiler, weil die nur noch Bugfix bekommt?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Veit D. schrieb:
> also wäre eine 6er Version stabiler, weil die nur noch Bugfix bekommt?

Die v7 bekommt auch nur noch Bugfixes.

Folge Rolfs Link.  Auf der Frontseite steht für diese Zweige: 
"regression fixes & docs only".

Für die v8 steht da: "Stage 3, general bugfixing".  Größere neue 
Features gibt es auch da nicht mehr, denn das Release der v8 ist bereits 
März / April 2019 und die aktuelle Entwicklung befindet sich quasi im 
"Konsolidierungsmodus".  "General Development" wäre Stage I.

Außerdem wird auch im aktuellen Entwicklungszweig nicht einfach "Code 
reingekloppt", sondern zu einem Approvement gehört neben Review, 
ChangeLogs, Coding-Rules auch, dass es keine neuen Regressions gibt 
(d.h. alle Test Suites erfolgreich absolvieren müssen), sowie Testfälle 
zu Test Suite(s) hinzugefügt werden welche das neue Feature begleiten. 
Mag ungewohnt sein, ist aber so.

Da v7 und v6 offene Branches sind, kann es sein, dass der HEAD eines 
solchen Branches mehr enthält als die letzte offizielle Release. 
Letztere findest du im SVN unter "tags".  Die Unterschiede sieht du in 
den relevanten ChangeLogs, in den automatisch generierten Commit-Logs 
oder als Diff auf die nackten Quellen oder per Diff innerhalb des Repos, 
nach Gusto SVN oder GIT.

Wichtige Änderungen sind in den jeweiligen Release-Notes ausgetextet, 
dito Porting-To Guides.  Beide findest du, wenn du Rolfs Link und dann 
"changes" folgst.

Zu diesen Änderungen kommen noch diejenigen hinzu, die dein Distrubutor 
oder dein Personal Toolchain Support Service für dich vorgenommen hat.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich wußte gar nicht was alles dahinter steht. Wahnsinn. Ändern tut bei 
mir und für mich niemand etwas. Ich programmiere rein für mich privat. 
Danke für die vielen Infos.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Johann L. schrieb:
> Veit D. schrieb:
>> also wäre eine 6er Version stabiler, weil die nur noch Bugfix bekommt?
>
> Die v7 bekommt auch nur noch Bugfixes.

...und von der v5 gab es erst vor wenigen Wochen die letzte Release, 
d.h. der v5 Reklease-Zweig Support wurde damit eingestellt.

Damit hast du die Wahl zwischen 3 aktuellen Release-Serien einer 
wohlgemerkt freien Toolchain, die jeweils seit 1 Jahr, 2 Jahren bzw. 3 
Jahren im Bugfix-only Mode sind.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

hab das mit der 7er mal ausprobiert nach der Anleitung von oben:

Package Name und Package Base Path in AtmelStudio eintragen
***********************************************************
SolutionExplorer | Project: rechte Maustaste: Propreties | Advanced |
Link: Tools>Options>Toolchain>FlavourConfiguration |
Atmel-8Bit-CPP-language | Package Name und Package Base Path eintragen.


Package in AtmelStudio auswählen
********************************
SolutionExplorer | Project: rechte Maustaste: Propreties | Advanced |
Toolchain Flavour | neue Toolchain auswählen.

egal ob ich den Pfad auf /bin verweise oder dem Ordnernamen eins 
darüber, es wechselt sofort die GDB Zeile im Advanced Fenster auf 
"doesn't contain GDB"

Die Kompilierung an sich ist zwar fehlerfrei, aber es tauchen solche 
Zeilen auf wie
File not Found : C:\Users\devil\Documents\Atmel 
Studio\avr-gcc-7.1.1_toolchain\avr-size.exe

Irgendwas ist da noch faul. Was ist falsch? Auf welchen Ordnerpfad muss 
konkret verwiesen werden?

von Rolf M. (rmagnus)


Lesenswert?

Veit D. schrieb:
> File not Found : C:\Users\devil\Documents\Atmel
> Studio\avr-gcc-7.1.1_toolchain\avr-size.exe

Das offensichtlichste wäre, mal zu schauen, ob diese Datei denn 
existiert, bzw. wo sie dann stattdessen ist. Es fällt allerdings auf, 
dass bin hier als Verzeichnis fehlt. Vielleicht macht auch das 
Leerzeichen im Verzeichnisnamen Probleme. Das ist auch ein gern 
genommener Kandidat.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

die Datei avr-size.exe liegt im ersten /bin Ordner.

Habe den enpackten Ordner verschoben, sodass der Pfad ohne Leerzeichen 
ist und habe ihn wieder auf /bin verwiesen. Ab jetzt wird es komisch. Er 
kompiliert fehlerfrei, ich sehe in den Ausgaben keinen Hinweis das etwas 
fehlt, aber die FLASH/RAM Speicherbelegung ist 0.
1
------ Erstellen gestartet: Projekt: ATtiny841_MAX487_029, Konfiguration: Release AVR ------
2
Der Buildvorgang wurde gestartet.
3
Projekt "ATtiny841_MAX487_029.cppproj" (Standardziele):
4
Erstellung mit der Toolsversion "14.0".
5
Das Ziel "PreBuildEvent" wurde übersprungen, da die Bedingung "false" war . ('$(PreBuildEvent)'!='') wurde als (''!='') ausgewertet.
6
Ziel "CoreBuild" in Datei "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" aus Projekt "C:\Users\Worker\Documents\Atmel Studio\7.0\WorkSpace_ATtiny841\ATtiny841_MAX487_029\ATtiny841_MAX487_029\ATtiny841_MAX487_029.cppproj" (Ziel "Build" ist davon abhängig):
7
  RunCompilerTask-Aufgabe
8
    Aufgabenparameter:
9
    ContentList=
10
        GrayEncoder.cpp
11
                SubType=compile
12
        GrayEncoder.h
13
                SubType=compile
14
        main.cpp
15
                SubType=compile
16
        PinDefi.h
17
                SubType=compile
18
        timer.cpp
19
                SubType=compile
20
        timer.h
21
                SubType=compile
22
        usart.cpp
23
                SubType=compile
24
        usart.h
25
                SubType=compile
26
    Aufgabenparameter:Directory=C:\Users\Worker\Documents\Atmel Studio\7.0\WorkSpace_ATtiny841\ATtiny841_MAX487_029\ATtiny841_MAX487_029
27
    Aufgabenparameter:ProjectFile=C:\Users\Worker\Documents\Atmel Studio\7.0\WorkSpace_ATtiny841\ATtiny841_MAX487_029\ATtiny841_MAX487_029\ATtiny841_MAX487_029.cppproj
28
    Aufgabenparameter:Project=ATtiny841_MAX487_029
29
    Aufgabenparameter:ToolchainSettings=<AvrGccCpp xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><avrgcc.common.Device>-mmcu=attiny841 -B "$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\gcc\dev\attiny841"</avrgcc.common.Device><avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex><avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss><avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep><avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec><avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures><avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned><avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned><avrgcc.compiler.symbols.DefSymbols><ListValues><Value>F_CPU=8000000UL</Value><Value>NDEBUG</Value></ListValues></avrgcc.compiler.symbols.DefSymbols><avrgcc.compiler.directories.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcc.compiler.directories.IncludePaths><avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level><avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers><avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum><avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings><avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned><avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned><avrgcccpp.compiler.symbols.DefSymbols><ListValues><Value>F_CPU=8000000UL</Value><Value>NDEBUG</Value></ListValues></avrgcccpp.compiler.symbols.DefSymbols><avrgcccpp.compiler.directories.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcccpp.compiler.directories.IncludePaths><avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level><avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers><avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum><avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings><avrgcccpp.compiler.miscellaneous.OtherFlags>-std=c++11</avrgcccpp.compiler.miscellaneous.OtherFlags><avrgcccpp.linker.libraries.Libraries><ListValues><Value>libm</Value></ListValues></avrgcccpp.linker.libraries.Libraries><avrgcccpp.assembler.general.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcccpp.assembler.general.IncludePaths></AvrGccCpp>
30
    Aufgabenparameter:ToolchainName=com.Atmel.AVRGCC8.CPP
31
    Aufgabenparameter:AvrDevice=ATtiny841
32
    Aufgabenparameter:Configuration=Release
33
    Aufgabenparameter:OutputType=Executable
34
    Aufgabenparameter:OutputFileName=ATtiny841_MAX487_029
35
    Aufgabenparameter:OutputFileExtension=.elf
36
    Aufgabenparameter:Language=CPP
37
    Aufgabenparameter:ToolchainFlavour=toolchain_7.1.1
38
    Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
39
    C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 8 --output-sync 
40
    make: Nothing to be done for 'all'.
41
  Ausführen der RunCompilerTask-Aufgabe beendet.
42
  RunOutputFileVerifyTask-Aufgabe
43
    Aufgabenparameter:Project=ATtiny841_MAX487_029
44
    Aufgabenparameter:OutputType=Executable
45
    Aufgabenparameter:OutputFileName=ATtiny841_MAX487_029
46
    Aufgabenparameter:OutputFileExtension=.elf
47
    Aufgabenparameter:AvrDevice=ATtiny841
48
    Aufgabenparameter:Configuration=Release
49
    Aufgabenparameter:Language=CPP
50
    Aufgabenparameter:ToolchainName=com.Atmel.AVRGCC8.CPP
51
    Aufgabenparameter:ToolchainFlavour=toolchain_7.1.1
52
    Aufgabenparameter:Directory=C:\Users\Worker\Documents\Atmel Studio\7.0\WorkSpace_ATtiny841\ATtiny841_MAX487_029\ATtiny841_MAX487_029
53
    Aufgabenparameter:ToolchainSettings=<AvrGccCpp xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><avrgcc.common.Device>-mmcu=attiny841 -B "$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\gcc\dev\attiny841"</avrgcc.common.Device><avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex><avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss><avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep><avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec><avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures><avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned><avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned><avrgcc.compiler.symbols.DefSymbols><ListValues><Value>F_CPU=8000000UL</Value><Value>NDEBUG</Value></ListValues></avrgcc.compiler.symbols.DefSymbols><avrgcc.compiler.directories.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcc.compiler.directories.IncludePaths><avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level><avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers><avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum><avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings><avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned><avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned><avrgcccpp.compiler.symbols.DefSymbols><ListValues><Value>F_CPU=8000000UL</Value><Value>NDEBUG</Value></ListValues></avrgcccpp.compiler.symbols.DefSymbols><avrgcccpp.compiler.directories.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcccpp.compiler.directories.IncludePaths><avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level><avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers><avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum><avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings><avrgcccpp.compiler.miscellaneous.OtherFlags>-std=c++11</avrgcccpp.compiler.miscellaneous.OtherFlags><avrgcccpp.linker.libraries.Libraries><ListValues><Value>libm</Value></ListValues></avrgcccpp.linker.libraries.Libraries><avrgcccpp.assembler.general.IncludePaths><ListValues><Value>$(PackRepoDir)\atmel\ATtiny_DFP\1.3.147\include</Value></ListValues></avrgcccpp.assembler.general.IncludePaths></AvrGccCpp>
54
        Program Memory Usage   :  0 bytes   0,0 % Full
55
        Data Memory Usage     :  0 bytes   0,0 % Full
56
  Ausführen der RunOutputFileVerifyTask-Aufgabe beendet.
57
Die Erstellung des Ziels "CoreBuild" im Projekt "ATtiny841_MAX487_029.cppproj" ist abgeschlossen.
58
Das Ziel "PostBuildEvent" wurde übersprungen, da die Bedingung "false" war . ('$(PostBuildEvent)' != '') wurde als ('' != '') ausgewertet.
59
Ziel "Build" in Datei "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" aus Projekt "C:\Users\Worker\Documents\Atmel Studio\7.0\WorkSpace_ATtiny841\ATtiny841_MAX487_029\ATtiny841_MAX487_029\ATtiny841_MAX487_029.cppproj" (Einstiegspunkt):
60
Die Erstellung des Ziels "Build" im Projekt "ATtiny841_MAX487_029.cppproj" ist abgeschlossen.
61
Erstellen des Projekts ATtiny841_MAX487_029.cppproj beendet.
62
63
Der Buildvorgang wurde erfolgreich ausgeführt.
64
========== Build: 1 erfolgreich oder aktuell, 0 fehlerhaft, 0 übersprungen ==========

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.