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.

Comments

Your email address will not be published. Required fields are marked *