Exception————c3p0(The web application [/C-PDMS2] appears to have started a thread named)

本文详细介绍了Tomcat服务器中因C3P0连接池未正确关闭导致的内存泄漏问题及解决办法。通过调用正确的关闭方法,可以避免线程未被及时释放而引发的内存泄露。

异常:

严重: The web application [/C-PDMS2] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] but has failed to stop it. This is very likely to create a memory leak.

2013-1-30 17:08:57 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/C-PDMS2] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] but has failed to stop it. This is very likely to create a memory leak.

2013-1-30 17:08:57 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/C-PDMS2] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2] but has failed to stop it. This is very likely to create a memory leak.

2013-1-30 17:08:57 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap

 

原因:

在Tomcat关闭的时候还有线程没有关闭,这会引起内存泄露,所以Tomcat会自己强行关闭。

 

解决方案:

看上面的异常可得知是C3P0引起的,因为在C3P0Util中用到了ThreadLocal这个类,所以在服务器关闭的时候调用comboPooledDataSource .close()方法,到是貌似可以解决。

 

但是又报了下面的错:

严重: The web application [/C-PDMS2] appears to have started a thread named [Resource Destroyer in BasicResourcePool.close()] but has failed to stop it. This is very likely to create a memory leak.

2013-1-30 17:20:04 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap

调用connLocal .remove()方法,貌似可以解决问题。

* 正在执行任务: D:\Espressif\tools\ninja\1.12.1\ninja.EXE [2/19] Performing build step for 'bootloader' [1/1] C:\Windows\system32\cmd.exe /C "cd /D C:\Users\Lenovo\esp32_electronic_piano\build\bootloader\esp-idf\esptool_py && D:\Espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe D:/Espressif/frameworks/esp-idf-v5.5/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/Users/Lenovo/esp32_electronic_piano/build/bootloader/bootloader.bin" Bootloader binary size 0x6680 bytes. 0x980 bytes (8%) free. [4/19] Building C object esp-idf/ttp229/CMakeFiles/__idf_ttp229.dir/src/ttp229.c.obj FAILED: esp-idf/ttp229/CMakeFiles/__idf_ttp229.dir/src/ttp229.c.obj ccache D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.5-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/Lenovo/esp32_electronic_piano/build/config -IC:/Users/Lenovo/esp32_electronic_piano/components/ttp229/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/newlib/platform_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/dma/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/ldo/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/debug_probe/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/power_supply/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/. -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/tlsf -ID:/Espressif/frameworks/esp-idf-v5.5/components/log/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/register -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/platform_port/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/include/private -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/deprecated_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/deprecated -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/twai/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai/include -mlongcalls -Wno-frame-address -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=C:/Users/Lenovo/esp32_electronic_piano=. -fmacro-prefix-map=D:/Espressif/frameworks/esp-idf-v5.5=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/ttp229/CMakeFiles/__idf_ttp229.dir/src/ttp229.c.obj -MF esp-idf\ttp229\CMakeFiles\__idf_ttp229.dir\src\ttp229.c.obj.d -o esp-idf/ttp229/CMakeFiles/__idf_ttp229.dir/src/ttp229.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:6:14: error: conflicting types for 'tp_to_led_idx'; have 'const int8_t[16]' {aka 'const signed char[16]'} 6 | const int8_t tp_to_led_idx[16] = { | ^~~~~~~~~~~~~ In file included from C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:1: C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/include/ttp229.h:8:15: note: previous declaration of 'tp_to_led_idx' with type 'int8_t[16]' {aka 'signed char[16]'} 8 | extern int8_t tp_to_led_idx[16]; | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:14:11: error: conflicting types for 'note_freqs'; have 'const int[16]' 14 | const int note_freqs[16] = { | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/include/ttp229.h:9:12: note: previous declaration of 'note_freqs' with type 'int[16]' 9 | extern int note_freqs[16]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:19:15: error: conflicting types for 'key_map'; have 'const uint8_t[16]' {aka 'const unsigned char[16]'} 19 | const uint8_t key_map[16] = {3,2,1,0,15,14,13,12,8,9,10,11,4,5,6,7}; | ^~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/include/ttp229.h:10:16: note: previous declaration of 'key_map' with type 'uint8_t[16]' {aka 'unsigned char[16]'} 10 | extern uint8_t key_map[16]; | ^~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c: In function 'ttp229_init': C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:30:5: error: implicit declaration of function 'vTaskDelay' [-Wimplicit-function-declaration] 30 | vTaskDelay(pdMS_TO_TICKS(10)); | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:30:16: error: implicit declaration of function 'pdMS_TO_TICKS' [-Wimplicit-function-declaration] 30 | vTaskDelay(pdMS_TO_TICKS(10)); | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c: In function 'ttp229_read_keys': C:/Users/Lenovo/esp32_electronic_piano/components/ttp229/src/ttp229.c:36:5: error: implicit declaration of function 'esp_rom_delay_us' [-Wimplicit-function-declaration] 36 | esp_rom_delay_us(2); | ^~~~~~~~~~~~~~~~ [5/19] Building C object esp-idf/ws2812b/CMakeFiles/__idf_ws2812b.dir/src/ws2812b.c.obj FAILED: esp-idf/ws2812b/CMakeFiles/__idf_ws2812b.dir/src/ws2812b.c.obj ccache D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.5-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/Lenovo/esp32_electronic_piano/build/config -IC:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/newlib/platform_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/dma/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/ldo/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/debug_probe/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/power_supply/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/. -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/tlsf -ID:/Espressif/frameworks/esp-idf-v5.5/components/log/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/register -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/platform_port/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/include/private -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/deprecated_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/deprecated -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/twai/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/interface -mlongcalls -Wno-frame-address -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=C:/Users/Lenovo/esp32_electronic_piano=. -fmacro-prefix-map=D:/Espressif/frameworks/esp-idf-v5.5=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/ws2812b/CMakeFiles/__idf_ws2812b.dir/src/ws2812b.c.obj -MF esp-idf\ws2812b\CMakeFiles\__idf_ws2812b.dir\src\ws2812b.c.obj.d -o esp-idf/ws2812b/CMakeFiles/__idf_ws2812b.dir/src/ws2812b.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c In file included from C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:1: C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include/ws2812b.h:19:1: warning: data definition has no type or storage class 19 | set_led_rgb(int idx, uint8_t r, uint8_t g, uint8_t b, uint8_t brightness); | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include/ws2812b.h:19:1: error: type defaults to 'int' in declaration of 'set_led_rgb' [-Wimplicit-int] C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:53:2: error: return type defaults to 'int' [-Wimplicit-int] 53 | set_led_rgb(int idx, uint8_t r, uint8_t g, uint8_t b, uint8_t brightness) { | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c: In function 'led_fade_task': C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:89:35: error: implicit declaration of function 'sinf' [-Wimplicit-function-declaration] 89 | float v = (1.0f + sinf((pos*2.0f*M_PI)/NUM_LEDS)) * 0.5f; | ^~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:2:1: note: include '<math.h>' or provide a declaration of 'sinf' 1 | #include "ws2812b.h" +++ |+#include <math.h> 2 | #include "led_strip.h" C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:89:35: warning: incompatible implicit declaration of built-in function 'sinf' [-Wbuiltin-declaration-mismatch] 89 | float v = (1.0f + sinf((pos*2.0f*M_PI)/NUM_LEDS)) * 0.5f; | ^~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:89:35: note: include '<math.h>' or provide a declaration of 'sinf' C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c: In function 'set_led_rgb': C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/src/ws2812b.c:58:1: error: control reaches end of non-void function [-Werror=return-type] 58 | } | ^ cc1.exe: some warnings being treated as errors [6/19] Building C object esp-idf/oled/CMakeFiles/__idf_oled.dir/src/oled.c.obj FAILED: esp-idf/oled/CMakeFiles/__idf_oled.dir/src/oled.c.obj ccache D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.5-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/Lenovo/esp32_electronic_piano/build/config -IC:/Users/Lenovo/esp32_electronic_piano/components/oled/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/newlib/platform_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/dma/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/ldo/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/debug_probe/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/power_supply/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/. -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/tlsf -ID:/Espressif/frameworks/esp-idf-v5.5/components/log/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/register -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/platform_port/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/include/private -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/deprecated_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/deprecated -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/twai/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/interface -mlongcalls -Wno-frame-address -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=C:/Users/Lenovo/esp32_electronic_piano=. -fmacro-prefix-map=D:/Espressif/frameworks/esp-idf-v5.5=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/oled/CMakeFiles/__idf_oled.dir/src/oled.c.obj -MF esp-idf\oled\CMakeFiles\__idf_oled.dir\src\oled.c.obj.d -o esp-idf/oled/CMakeFiles/__idf_oled.dir/src/oled.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/components/oled/src/oled.c C:/Users/Lenovo/esp32_electronic_piano/components/oled/src/oled.c:6:10: fatal error: spi_master.h: No such file or directory 6 | #include "spi_master.h" | ^~~~~~~~~~~~~~ compilation terminated. [7/19] Building C object esp-idf/buzzer/CMakeFiles/__idf_buzzer.dir/src/buzzer.c.obj FAILED: esp-idf/buzzer/CMakeFiles/__idf_buzzer.dir/src/buzzer.c.obj ccache D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.5-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/Lenovo/esp32_electronic_piano/build/config -IC:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/newlib/platform_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/dma/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/ldo/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/debug_probe/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/power_supply/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/. -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/tlsf -ID:/Espressif/frameworks/esp-idf-v5.5/components/log/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/register -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/platform_port/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/include/private -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/deprecated_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/deprecated -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/twai/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/interface -mlongcalls -Wno-frame-address -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=C:/Users/Lenovo/esp32_electronic_piano=. -fmacro-prefix-map=D:/Espressif/frameworks/esp-idf-v5.5=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/buzzer/CMakeFiles/__idf_buzzer.dir/src/buzzer.c.obj -MF esp-idf\buzzer\CMakeFiles\__idf_buzzer.dir\src\buzzer.c.obj.d -o esp-idf/buzzer/CMakeFiles/__idf_buzzer.dir/src/buzzer.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:10:61: error: conflicting types for 'tone_t'; have 'struct <anonymous>' 10 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ In file included from C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:1: C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include/buzzer.h:17:61: note: previous declaration of 'tone_t' with type 'tone_t' 17 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:11:14: error: conflicting types for 'blessing'; have 'const tone_t[]' 11 | const tone_t blessing[] = { | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include/buzzer.h:18:21: note: previous declaration of 'blessing' with type 'const tone_t[]' 18 | extern const tone_t blessing[]; | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:2232:14: error: conflicting types for 'monitoring'; have 'const tone_t[]' 2232 | const tone_t monitoring[] = { | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include/buzzer.h:19:21: note: previous declaration of 'monitoring' with type 'const tone_t[]' 19 | extern const tone_t monitoring[]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:3927:14: error: conflicting types for 'bad_apple'; have 'const tone_t[]' 3927 | const tone_t bad_apple[] = { | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include/buzzer.h:20:21: note: previous declaration of 'bad_apple' with type 'const tone_t[]' 20 | extern const tone_t bad_apple[]; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5596:15: error: conflicting types for 'music_tracks'; have 'const tone_t *[3]' 5596 | const tone_t* music_tracks[3] = {blessing, monitoring, bad_apple}; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include/buzzer.h:22:22: note: previous declaration of 'music_tracks' with type 'const tone_t *[3]' 22 | extern const tone_t* music_tracks[3]; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c: In function 'blessing_task': C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5628:5: error: implicit declaration of function 'ESP_LOGI'; did you mean 'ESP_OK'? [-Wimplicit-function-declaration] 5628 | ESP_LOGI(TAG, "Blessing task started"); | ^~~~~~~~ | ESP_OK C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5628:14: error: 'TAG' undeclared (first use in this function) 5628 | ESP_LOGI(TAG, "Blessing task started"); | ^~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5628:14: note: each undeclared identifier is reported only once for each function it appears in C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5642:13: error: implicit declaration of function 'led_update_from_state' [-Wimplicit-function-declaration] 5642 | led_update_from_state(); | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c: In function 'start_blessing_task': C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5664:9: error: implicit declaration of function 'ESP_LOGW'; did you mean 'ESP_OK'? [-Wimplicit-function-declaration] 5664 | ESP_LOGW(TAG,"Create blessing task failed"); | ^~~~~~~~ | ESP_OK C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5664:18: error: 'TAG' undeclared (first use in this function) 5664 | ESP_LOGW(TAG,"Create blessing task failed"); | ^~~ [9/19] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/esp32_electronic_piano_main.c.obj FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/esp32_electronic_piano_main.c.obj ccache D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.5-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/Lenovo/esp32_electronic_piano/build/config -IC:/Users/Lenovo/esp32_electronic_piano/main -ID:/Espressif/frameworks/esp-idf-v5.5/components/newlib/platform_include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/config/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/dma/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/ldo/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/debug_probe/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/power_supply/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/. -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/port/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/heap/tlsf -ID:/Espressif/frameworks/esp-idf-v5.5/components/log/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/register -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/platform_port/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/hal/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/include/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32 -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/soc -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_system/port/include/private -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/xtensa/deprecated_include -IC:/Users/Lenovo/esp32_electronic_piano/components/buzzer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/deprecated -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/twai/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/driver/touch_sensor/esp32/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag/include -ID:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip/interface -IC:/Users/Lenovo/esp32_electronic_piano/components/ttp229/include -IC:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include -IC:/Users/Lenovo/esp32_electronic_piano/components/oled/include -mlongcalls -Wno-frame-address -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=C:/Users/Lenovo/esp32_electronic_piano=. -fmacro-prefix-map=D:/Espressif/frameworks/esp-idf-v5.5=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/esp32_electronic_piano_main.c.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\esp32_electronic_piano_main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/esp32_electronic_piano_main.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c In file included from C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:20: C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include/ws2812b.h:19:1: warning: data definition has no type or storage class 19 | set_led_rgb(int idx, uint8_t r, uint8_t g, uint8_t b, uint8_t brightness); | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b/include/ws2812b.h:19:1: error: type defaults to 'int' in declaration of 'set_led_rgb' [-Wimplicit-int] In file included from D:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/esp_intr_alloc.h:12, from D:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/esp_cpu.h:21, from D:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support/include/spinlock.h:11, from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:49, from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/portable.h:57, from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:69, from C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:6: C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c: In function 'app_main': C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:78:65: error: 'spi_oled' undeclared (first use in this function) 78 | ESP_ERROR_CHECK(spi_bus_add_device(OLED_SPI_HOST, &devcfg, &spi_oled)); | ^~~~~~~~ D:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include/esp_err.h:116:30: note: in definition of macro 'ESP_ERROR_CHECK' 116 | esp_err_t err_rc_ = (x); \ | ^ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:78:65: note: each undeclared identifier is reported only once for each function it appears in 78 | ESP_ERROR_CHECK(spi_bus_add_device(OLED_SPI_HOST, &devcfg, &spi_oled)); | ^~~~~~~~ D:/Espressif/frameworks/esp-idf-v5.5/components/esp_common/include/esp_err.h:116:30: note: in definition of macro 'ESP_ERROR_CHECK' 116 | esp_err_t err_rc_ = (x); \ | ^ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:88:5: error: implicit declaration of function 'oled_send_cmd'; did you mean 'oled_send_data'? [-Wimplicit-function-declaration] 88 | oled_send_cmd(init_cmds, sizeof(init_cmds)); | ^~~~~~~~~~~~~ | oled_send_data C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:104:17: error: 'current_menu' undeclared (first use in this function) 104 | if (current_menu == MENU_NONE) { | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:104:33: error: 'MENU_NONE' undeclared (first use in this function) 104 | if (current_menu == MENU_NONE) { | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:105:21: error: 'g_mode' undeclared (first use in this function) 105 | if (g_mode == MODE_LED_KEY_INTERACT) { | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:105:31: error: 'MODE_LED_KEY_INTERACT' undeclared (first use in this function) 105 | if (g_mode == MODE_LED_KEY_INTERACT) { | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:106:30: error: 'MODE_NORMAL' undeclared (first use in this function); did you mean 'FP_NORMAL'? 106 | g_mode = MODE_NORMAL; | ^~~~~~~~~~~ | FP_NORMAL C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:120:31: error: 'MODE_LED_GRADIENT_CYCLE' undeclared (first use in this function) 120 | if (g_mode == MODE_LED_GRADIENT_CYCLE) { | ^~~~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:122:21: error: 'gradient_run' undeclared (first use in this function) 122 | gradient_run = false; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:137:32: error: 'MENU_MUSIC_SELECT' undeclared (first use in this function) 137 | current_menu = MENU_MUSIC_SELECT; | ^~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:152:32: error: 'MENU_FUNC_SELECT' undeclared (first use in this function) 152 | current_menu = MENU_FUNC_SELECT; | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:176:30: error: 'MODE_BLESSING_PLAY' undeclared (first use in this function) 176 | g_mode = MODE_BLESSING_PLAY; | ^~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:198:30: error: 'MODE_GAME' undeclared (first use in this function) 198 | g_mode = MODE_GAME; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:199:21: error: 'game_running' undeclared (first use in this function); did you mean 'eRunning'? 199 | game_running = true; | ^~~~~~~~~~~~ | eRunning C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:200:28: error: 'game_regions' undeclared (first use in this function) 200 | memset(game_regions, 0, sizeof(game_regions)); | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:201:21: error: 'game_next_spawn' undeclared (first use in this function) 201 | game_next_spawn = xTaskGetTickCount() + pdMS_TO_TICKS(800); | ^~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:275:36: error: 'oled_buf' undeclared (first use in this function) 275 | memset(oled_buf,0,OLED_BUF_SIZE); | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:285:62: warning: variable 'idx' set but not used [-Wunused-but-set-variable] 285 | int page = yy/8; int idx = page*OLED_WIDTH + xx; | ^~~ ninja: build stopped: subcommand failed. * 终端进程“D:\Espressif\tools\ninja\1.12.1\ninja.EXE”已终止,退出代码: 1。
最新发布
10-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值