我正面临一个问题,试图用导入的库编译一个空项目。不知何故,asynctelegram2库导致它失败。移除那个库使它再次工作。我不知道问题出在哪里。任何帮助都是非常感谢的。该板是一个基于Lolin的esp32板。
.ino文件:
#include <TFT_eSPI.h> // Graphics and font library
#include <SPI.h>
#include <sqlite3.h>
#include <WiFi.h>
#include <time.h>
#include <WiFiUdp.h>
#include <Timezone.h> // https://github.com/JChristensen/Timezone
#include <NTPClient.h>
#include <AsyncTelegram2.h>
#include <WiFiClientSecure.h>
#include "FS.h"
#include "SD.h"
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
错误输出:
WARNING: library Timezone claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
In file included from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:9:0:
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h: In member function 'bool AsyncTelegram2::sendPhoto(int64_t, const char*, fs::FS&, const char*)':
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:249:9: error: 'File' was not declared in this scope
File file = fs.open(filename, "r");
^
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:249:9: note: suggested alternative:
In file included from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/Processors/TFT_eSPI_ESP32.h:137:0,
from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:72,
from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:1:
C:\Users\shark\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS\src/FS.h:47:7: note: 'fs::File'
class File : public Stream
^
In file included from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:9:0:
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:250:76: error: 'file' was not declared in this scope
bool res = sendStream(chat_id, "sendPhoto", "image/jpeg", "photo", file, file.size(), caption);
^
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h: In member function 'bool AsyncTelegram2::sendPhoto(const TBMessage&, const char*, fs::FS&, const char*)':
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:256:9: error: 'File' was not declared in this scope
File file = fs.open(filename, "r");
^
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:256:9: note: suggested alternative:
In file included from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/Processors/TFT_eSPI_ESP32.h:137:0,
from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:72,
from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:1:
C:\Users\shark\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS\src/FS.h:47:7: note: 'fs::File'
class File : public Stream
^
In file included from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:9:0:
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:257:79: error: 'file' was not declared in this scope
bool res = sendStream(msg.chatId, "sendPhoto", "image/jpeg", "photo", file, file.size(), caption);
^
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h: In member function 'bool AsyncTelegram2::sendPhotoByFile(int64_t, const char*, fs::FS&)':
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:294:9: error: 'File' was not declared in this scope
File file = fs.open(filename, "r");
^
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:294:9: note: suggested alternative:
In file included from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/Processors/TFT_eSPI_ESP32.h:137:0,
from C:\Users\shark\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:72,
from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:1:
C:\Users\shark\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS\src/FS.h:47:7: note: 'fs::File'
class File : public Stream
^
In file included from C:\Users\shark\Documents\Arduino\test_compile\test_compile.ino:9:0:
C:\Users\shark\Documents\Arduino\libraries\AsyncTelegram2\src/AsyncTelegram2.h:295:24: error: 'file' was not declared in this scope
Serial.println(file.size());
^
Multiple libraries were found for "WiFi.h"
Used: C:\Users\shark\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
Multiple libraries were found for "NTPClient.h"
Used: C:\Users\shark\Documents\Arduino\libraries\NTPClient
Not used: C:\Users\shark\Documents\Arduino\libraries\NTPClient-master
Multiple libraries were found for "SD.h"
Used: C:\Users\shark\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Not used: C:\Users\shark\Documents\Arduino\libraries\SD
exit status 1
Error compiling for board ESP32 Dev Module.
发布于 2022-11-17 22:26:31
来自AsyncTelegram2 文档
它依赖于ArduinoJson 6库,因此,为了使用AsyncTelegram2对象,首先需要安装ArduinoJson库。
https://stackoverflow.com/questions/74481084
复制相似问题