我有以下文件:
main.cpp
lib/EEPROMManager/EEPROMManager.cpp
lib/EEPROMManager/EEPROMManager.h
主.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
如果我仅在 EEPROMManager.cpp 中包含 EEPROM.h,则代码构建没有任何问题。一旦它包含在 EEPROMManager.h 中,构建就会失败。如果我只将它包含在 EEPROMManager.h 中,则构建失败。
显然,我不了解依赖项是如何工作的,但我无法弄清楚。
编辑:
EEPROM.h 是 Platformio 中 Arduino 框架的一部分。它位于:
.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src
我检查了 c_cpp_properties.json,上面的路径包括在内。包含完整路径而不是 EEPROM.h 可以解决此问题。这似乎是一个 PlatformIO 配置问题,但我无法弄清楚是什么导致了问题。