我有以下文件:
main.cpp
lib/EEPROMManager/EEPROMManager.cpp
lib/EEPROMManager/EEPROMManager.h
main.cpp:
#include <EEPROMManager.h>
#include <EEPROM.h>
EEPROMManager.h:
#include <EEPROM.h>
EEPROMManager.cpp:
#include <EEPROMManager.h>
#include <EEPROM.h>
构建时:
lib/EEPROMManager/EEPROMManager.h:2:20: fatal error: EEPROM.h: No such file or directory
如果仅将EEPROM.h包含在EEPROMManager.cpp中,则代码构建不会出现任何问题。一旦将其包含在EEPROMManager.h中,构建就会失败。 如果仅将其包含在EEPROMManager.h中,则构建将失败。
对于依赖项的工作方式,显然我不了解,但我无法弄清楚。
编辑:
EEPROM.h是Platformio中的Arduino框架的一部分。它位于:
.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src
我检查了c_cpp_properties.json,其中包括上述路径。 包括完整路径而不是EEPROM.h可解决此问题。这似乎是PlatformIO配置问题,但我不知道是什么原因引起的。