If you don’t have a REQUIRES list in CMakeLists.txt that is declaring dependencies on certain special components, you typically don’t have to add basic components as REQUIRES also, due to the implicit dependency behaviour of main component (for an Espressif ESP-IDF explanation see here).
If you do have a REQUIRES section, you will need to add things like esp_timer, esp_adc, etc components to the REQUIRES list if you are using them, otherwise you will get errors like these:
- fatal error: esp_adc/adc_oneshot.h: No such file or directory
- fatal error: esp_timer.h: No such file or directory
Example CMakeLists.txt with a REQUIRES list
idf_component_register(
SRCS
"ap-main.c"
"led-is31fl3238.c"
"io-pca9539.c"
"usb-memory-stick.c"
INCLUDE_DIRS
"."
REQUIRES
esp_timer
esp_adc
usb
vfs
)
Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.