我有使用Arduino框架的ESP32项目,但遇到了问题。我想创建我的类,该类将从SPIFFS类继承。只是想添加readConfig方法并在我的项目中使用它。
有可能吗?
我正在使用类似的东西。 SSDReader.h
#pragma once
#include <Arduino.h>
#include <SPIFFS.h>
#include <FS.h>
using namespace fs;
class SSDReader: public SPIFFSFS {
public:
void getConfig();
};
extern SSDReader ssd;
SSDReader.cpp
#include "SSDReader.h"
void SSDReader::getConfig() {
}
main.cpp
#pragma once
#include <Arduino.h>
#include "include/SSDReader.h“
void setup() {
// Init SSDReader
if (!ssd.begin()) {
}
}
void loop() {
}
它可以编译,但是ssd是:
.pioenvs/esp32dev/src/main.cpp.o:(.literal._Z5setupv+0x10): undefined reference to `ssd'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32dev/firmware.elf] Error 1
谢谢, 问候, 彼得·索雷克
答案 0 :(得分:0)
Thanks to KIIV I have been able to edit my code like this.
SSDReader.h
#pragma once
#include <Arduino.h>
#include <SPIFFS.h>
using namespace fs;
class SSDReader : public SPIFFSFS {
public:
SSDReader() : SPIFFSFS{ SPIFFS } { };
void getConfig();
protected:
};
SSDReader.cpp
#include "SSDReader.h"
//SSDReader::SSDReader() {}
void SSDReader::getConfig() {
}
main.cpp
#include <Arduino.h>
#include "include/SSDReader.h"
//#include "include/Display.h"
// Variables
SSDReader ssd;
bool enableSerial = false;
//Display display;
void setup() {
if (enableSerial)
Serial.println(9600);
// Init SSDReader
if (!ssd.begin()) {
}
}
void loop() {
}
And it works. Thank you very much. I am going to selfstudy more.