Strings in C++ - Klassen-Datei für den Arduino nicht kompilieren
Schreibe ich eine stack-Klasse in C++ für ein Arduino Skizze. Ich glaube, es ist völlig kompatibel mit dem AVR (wenn es das ist, was es heißt; ich erinnere mich nicht genau) - compiler, die ich verwendet habe, alle malloc
und free
statt new
und delete
und so weiter.
Also ich habe eine .h die Datei mit meiner Klasse. Ich habe importiert Sie in die Skizze, aber wenn ich versuche zu kompilieren, bekomme ich diese Fehler:
In file included from sketch_may15a.cpp:1:
/CStack.h:58:18: error: string: No such file or directory
In file included from sketch_may15a.cpp:1:
CStack.h:61: error: variable or field 'Error' declared void
CStack.h:61: error: 'string' was not declared in this scope
Und hier sind die ersten paar Zeilen für meine Klasse:
#include <string>
using namespace std;
void Error(string message) {
Also der Arduino-compiler nicht finden können <string>
, und die nächsten paar Probleme, die scheinen zu beziehen sich auf Sie (nicht sicher, was variable or field Error declared void
bedeutet, mein Fehler-Funktion ist nur für debugging-Zwecke).
Ich weiß, Arduino Skizzen support-Saiten, ohne die Notwendigkeit für einen import, aber ich bin mir nicht sicher, wie das funktioniert mit C/C++/.h-Dateien. Ich habe versucht zu googeln, aber gibt es nicht viel Dokumentation.
- versucht string.h ?
- Verwenden Sie einen C++ - compiler? (Ein C-compiler nicht finden, C++ - Header unter normalen Umständen.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arduino-sketches nicht unterstützen, jeder der C++ - standard-Bibliothek, wie Sie sind zusammengestellt mit avr-libc, die es nicht unterstützt. Jedoch, Arduino stellt die
String
Klasse, die sollten tun, was Sie brauchen.Wenn Sie schreiben, eine Bibliothek, werden Sie auch brauchen, um
#include <Arduino.h>
(oder#include <Wiring.h>
wenn Sie mit einer vorab-version 1.0 der Arduino-IDE).In file included from sketch_may15a.cpp:1: CStack.h:56: error: variable or field 'Error' declared void CStack.h:56: error: 'String' was not declared in this scope
Fehler deklariert istvoid Error(String message) {
... angenommen, eine Funktion#include <Arduino.h>
(oderWiring.h
wenn Sie mit einer vorab-version 1.0 der Arduino-IDE).#include <Arduino.h>
behoben die Probleme. Es kompiliert, also danke! Jetzt nur noch Daumen drücken und hoffen, dass es funktioniert xD.