我有使用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谢谢,致敬,Petr Sourek
发布于 2019-04-08 21:13:28
多亏了KIIV,我能够像这样编辑我的代码。
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() {
}而且它是有效的。非常感谢。我要自学更多。
https://stackoverflow.com/questions/55570854
复制相似问题