错误: 隐式声明函数‘init_MUTEX’ [-Werror=implicit-function-declaration]

本文详细介绍了Linux内核中Semaphore的定义与使用方法,包括init_MUTEX宏定义的变化及sema_init函数的应用。Semaphore用于同步访问共享资源,防止多个任务同时访问。

在新版本的linux内核中,init_mutex已经被废除了,新版本使用sema_init函数。查了一下早期版本的定义:

平台:X86 32位

内核:2.6.30

定义

Linux/include/linux/semaphore.h


 1 /*
 2 * Copyright (c) 2008 Intel Corporation
 3 * Author: Matthew Wilcox <willy@linux.intel.com>
 4 *
 5 * Distributed under the terms of the GNU GPL, version 2
 6 *
 7 * Please see kernel/semaphore.c for documentation of these functions
 8 */
 9 #ifndef __LINUX_SEMAPHORE_H
10 #define __LINUX_SEMAPHORE_H
11
12 #include <linux/list.h>
13 #include <linux/spinlock.h>
14
15 /* Please don't access any members of this structure directly */
16 struct semaphore {
17     spinlock_t       lock;
18     unsigned int      count;
19     struct list_head    wait_list;
20 };
21
22 #define __SEMAPHORE_INITIALIZER(name, n)                \
23 {                                    \
24     .lock      = __SPIN_LOCK_UNLOCKED((name).lock),      \
25     .count     = n,                      \
26     .wait_list   = LIST_HEAD_INIT((name).wait_list),       \
27 }
28
29 #define DECLARE_MUTEX(name)   \
30     struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
31
32 static inline void sema_init(struct semaphore *sem, int val)
33 {
34     static struct lock_class_key __key;
35     *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
36     lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0);
37 }
38
39 #define init_MUTEX(sem)     sema_init(sem, 1)//在最新的版本中没有这两个宏定义了
40 #define init_MUTEX_LOCKED(sem) sema_init(sem, 0)
41
42 extern void down(struct semaphore *sem);
43 extern int __must_check down_interruptible(struct semaphore *sem);
44 extern int __must_check down_killable(struct semaphore *sem);
45 extern int __must_check down_trylock(struct semaphore *sem);
46 extern int __must_check down_timeout(struct semaphore *sem, long jiffies);
47 extern void up(struct semaphore *sem);
48
49 #endif /* __LINUX_SEMAPHORE_H */
50

说明:Init_MUTEX()函数初始化信号量为互斥量。 互斥量为信号量的特例,它可以防止数据被两个不同系统调用读写。

sema_init (sem, 1) 定义为:

平台:X86 32位

内核:3.0.xx

定义:

Linux/include/linux/semaphore.h


 1 /*
 2 * Copyright (c) 2008 Intel Corporation
 3 * Author: Matthew Wilcox <willy@linux.intel.com>
 4 *
 5 * Distributed under the terms of the GNU GPL, version 2
 6 *
 7 * Please see kernel/semaphore.c for documentation of these functions
 8 */
 9 #ifndef __LINUX_SEMAPHORE_H
10 #define __LINUX_SEMAPHORE_H
11
12 #include <linux/list.h>
13 #include <linux/spinlock.h>
14
15 /* Please don't access any members of this structure directly */
16 struct semaphore {
17     spinlock_t       lock;
18     unsigned int      count;
19     struct list_head    wait_list;
20 };
21
22 #define __SEMAPHORE_INITIALIZER(name, n)                \
23 {                                    \
24     .lock      = __SPIN_LOCK_UNLOCKED((name).lock),      \
25     .count     = n,                      \
26     .wait_list   = LIST_HEAD_INIT((name).wait_list),       \
27 }
28
29 #define DEFINE_SEMAPHORE(name) \
30     struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
31
32 static inline void sema_init(struct semaphore *sem, int val)
33 {
34     static struct lock_class_key __key;
35     *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
36     lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0);
37 }
38
39 extern void down(struct semaphore *sem);
40 extern int __must_check down_interruptible(struct semaphore *sem);
41 extern int __must_check down_killable(struct semaphore *sem);
42 extern int __must_check down_trylock(struct semaphore *sem);
43 extern int __must_check down_timeout(struct semaphore *sem, long jiffies);
44 extern void up(struct semaphore *sem);
45
46 #endif /* __LINUX_SEMAPHORE_H */
47 
* 正在执行任务: 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
* 正在执行任务: D:\Espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe D:\Espressif\frameworks\esp-idf-v5.5\tools\idf.py -B c:\Users\Lenovo\esp32_electronic_piano\build -DSDKCONFIG='c:\Users\Lenovo\esp32_electronic_piano\sdkconfig' reconfigure Executing action: reconfigure Running cmake in directory C:\Users\Lenovo\esp32_electronic_piano\build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=D:\Espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe -DESP_PLATFORM=1 -DSDKCONFIG='c:\Users\Lenovo\esp32_electronic_piano\sdkconfig' -DCCACHE_ENABLE=1 C:\Users\Lenovo\esp32_electronic_piano"... -- Found Git: D:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1") -- Minimal build - ON -- ccache will be used for faster recompilation -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- The ASM compiler identification is GNU -- Found assembler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git' -- Could not use 'git describe' to determine PROJECT_VER. -- Building ESP-IDF components for target esp32 NOTICE: Processing 2 dependencies: NOTICE: [1/2] espressif/led_strip (3.0.1~1) NOTICE: [2/2] idf (5.5.0) -- Project sdkconfig file C:/Users/Lenovo/esp32_electronic_piano/sdkconfig Loading defaults file C:/Users/Lenovo/esp32_electronic_piano/sdkconfig.defaults... Loading defaults file C:/Users/Lenovo/esp32_electronic_piano/sdkconfig.defaults.esp32... -- Compiler supported targets: xtensa-esp-elf -- Found Python3: D:/Espressif/python_env/idf5.5_py3.11_env/Scripts/python.exe (found version "3.11.2") found components: Interpreter -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS -- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success -- USING O3 -- App "esp32_electronic_piano" version: 1 -- Adding linker script C:/Users/Lenovo/esp32_electronic_piano/build/esp-idf/esp_system/ld/memory.ld -- Adding linker script C:/Users/Lenovo/esp32_electronic_piano/build/esp-idf/esp_system/ld/sections.ld.in -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.api.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.libc-funcs.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.newlib-reent-funcs.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/ld/esp32.peripherals.ld -- Components: app_update bootloader bootloader_support buzzer cxx driver efuse esp_app_format esp_bootloader_format esp_common esp_driver_ana_cmpr esp_driver_bitscrambler esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_tsens esp_driver_twai esp_driver_uart esp_driver_usb_serial_jtag esp_hw_support esp_mm esp_partition esp_pm esp_ringbuf esp_rom esp_security esp_system esp_timer espressif__led_strip esptool_py freertos hal heap log main mbedtls newlib oled partition_table pthread sdmmc soc spi_flash ttp229 ws2812b xtensa -- Component paths: D:/Espressif/frameworks/esp-idf-v5.5/components/app_update D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader_support C:/Users/Lenovo/esp32_electronic_piano/components/buzzer D:/Espressif/frameworks/esp-idf-v5.5/components/cxx D:/Espressif/frameworks/esp-idf-v5.5/components/driver D:/Espressif/frameworks/esp-idf-v5.5/components/efuse D:/Espressif/frameworks/esp-idf-v5.5/components/esp_app_format D:/Espressif/frameworks/esp-idf-v5.5/components/esp_bootloader_format D:/Espressif/frameworks/esp-idf-v5.5/components/esp_common D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ana_cmpr D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_bitscrambler D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_dac D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gpio D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_gptimer D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2c D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_i2s D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_ledc D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_mcpwm D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_parlio D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_pcnt D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_rmt D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdio D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdm D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdmmc D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_sdspi D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_spi D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_tsens D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_twai D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_uart D:/Espressif/frameworks/esp-idf-v5.5/components/esp_driver_usb_serial_jtag D:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support D:/Espressif/frameworks/esp-idf-v5.5/components/esp_mm D:/Espressif/frameworks/esp-idf-v5.5/components/esp_partition D:/Espressif/frameworks/esp-idf-v5.5/components/esp_pm D:/Espressif/frameworks/esp-idf-v5.5/components/esp_ringbuf D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom D:/Espressif/frameworks/esp-idf-v5.5/components/esp_security D:/Espressif/frameworks/esp-idf-v5.5/components/esp_system D:/Espressif/frameworks/esp-idf-v5.5/components/esp_timer C:/Users/Lenovo/esp32_electronic_piano/managed_components/espressif__led_strip D:/Espressif/frameworks/esp-idf-v5.5/components/esptool_py D:/Espressif/frameworks/esp-idf-v5.5/components/freertos D:/Espressif/frameworks/esp-idf-v5.5/components/hal D:/Espressif/frameworks/esp-idf-v5.5/components/heap D:/Espressif/frameworks/esp-idf-v5.5/components/log C:/Users/Lenovo/esp32_electronic_piano/main D:/Espressif/frameworks/esp-idf-v5.5/components/mbedtls D:/Espressif/frameworks/esp-idf-v5.5/components/newlib C:/Users/Lenovo/esp32_electronic_piano/components/oled D:/Espressif/frameworks/esp-idf-v5.5/components/partition_table D:/Espressif/frameworks/esp-idf-v5.5/components/pthread D:/Espressif/frameworks/esp-idf-v5.5/components/sdmmc D:/Espressif/frameworks/esp-idf-v5.5/components/soc D:/Espressif/frameworks/esp-idf-v5.5/components/spi_flash C:/Users/Lenovo/esp32_electronic_piano/components/ttp229 C:/Users/Lenovo/esp32_electronic_piano/components/ws2812b D:/Espressif/frameworks/esp-idf-v5.5/components/xtensa -- Configuring done (17.9s) -- Generating done (1.2s) -- Build files have been written to: C:/Users/Lenovo/esp32_electronic_piano/build * 正在执行任务: D:\Espressif\tools\ninja\1.12.1\ninja.EXE [80/587] Generating ../../partition_table/partition-table.bin Partition table binary generated. Contents: ******************************************************************************* # ESP-IDF Partition Table # Name, Type, SubType, Offset, Size, Flags nvs,data,nvs,0x9000,24K, phy_init,data,phy,0xf000,4K, factory,app,factory,0x10000,1M, ******************************************************************************* [563/587] Building C object esp-idf/buzzer/CMakeFiles/__idf_buzzer.dir/src/buzzer.c.obj 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:5632:17: warning: unused variable 'd' [-Wunused-variable] 5632 | int d = track[i].dur; | ^ [572/587] 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: In function 'run_animation': C:/Users/Lenovo/esp32_electronic_piano/components/oled/src/oled.c:327:13: error: implicit declaration of function 'set_led_rgb' [-Wimplicit-function-declaration] 327 | set_led_rgb(i, rainbow_colors[i][0], rainbow_colors[i][1], rainbow_colors[i][2], b); | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/oled/src/oled.c:334:22: error: implicit declaration of function 'ttp229_read_keys' [-Wimplicit-function-declaration] 334 | uint16_t k = ttp229_read_keys(); | ^~~~~~~~~~~~~~~~ [573/587] 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 C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:54:26: warning: 'led_mutex' initialized and declared 'extern' 54 | extern SemaphoreHandle_t led_mutex = NULL; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:55:12: warning: 'selected_item' initialized and declared 'extern' 55 | extern int selected_item = 0; | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:65:28: warning: 'g_mode' initialized and declared 'extern' 65 | extern volatile app_mode_t g_mode = MODE_NORMAL; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/main/esp32_electronic_piano_main.c:74:30: warning: 'current_menu' initialized and declared 'extern' 74 | extern volatile menu_state_t current_menu = MENU_NONE; | ^~~~~~~~~~~~ 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:113:5: error: implicit declaration of function 'oled_send_cmd'; did you mean 'oled_send_data'? [-Wimplicit-function-declaration] 113 | oled_send_cmd(init_cmds, sizeof(init_cmds)); | ^~~~~~~~~~~~~ | oled_send_data [577/587] Performing configure step for 'bootloader' -- Found Git: D:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1") -- Minimal build - OFF -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- The ASM compiler identification is GNU -- Found assembler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building ESP-IDF components for target esp32 -- Project sdkconfig file C:/Users/Lenovo/esp32_electronic_piano/sdkconfig -- Compiler supported targets: xtensa-esp-elf -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/soc/esp32/ld/esp32.peripherals.ld -- Bootloader project name: "bootloader" version: 1 -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.api.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom/esp32/ld/esp32.rom.libc-funcs.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader/subproject/main/ld/esp32/bootloader.ld -- Adding linker script D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld -- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_security esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa -- Component paths: D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader_support D:/Espressif/frameworks/esp-idf-v5.5/components/efuse D:/Espressif/frameworks/esp-idf-v5.5/components/esp_app_format D:/Espressif/frameworks/esp-idf-v5.5/components/esp_bootloader_format D:/Espressif/frameworks/esp-idf-v5.5/components/esp_common D:/Espressif/frameworks/esp-idf-v5.5/components/esp_hw_support D:/Espressif/frameworks/esp-idf-v5.5/components/esp_rom D:/Espressif/frameworks/esp-idf-v5.5/components/esp_security D:/Espressif/frameworks/esp-idf-v5.5/components/esp_system D:/Espressif/frameworks/esp-idf-v5.5/components/esptool_py D:/Espressif/frameworks/esp-idf-v5.5/components/freertos D:/Espressif/frameworks/esp-idf-v5.5/components/hal D:/Espressif/frameworks/esp-idf-v5.5/components/log D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader/subproject/main D:/Espressif/frameworks/esp-idf-v5.5/components/bootloader/subproject/components/micro-ecc D:/Espressif/frameworks/esp-idf-v5.5/components/newlib D:/Espressif/frameworks/esp-idf-v5.5/components/partition_table D:/Espressif/frameworks/esp-idf-v5.5/components/soc D:/Espressif/frameworks/esp-idf-v5.5/components/spi_flash D:/Espressif/frameworks/esp-idf-v5.5/components/xtensa -- Configuring done (14.7s) -- Generating done (0.3s) -- Build files have been written to: C:/Users/Lenovo/esp32_electronic_piano/build/bootloader ninja: build stopped: subcommand failed. * 终端进程“D:\Espressif\tools\ninja\1.12.1\ninja.EXE”已终止,退出代码: 1。 * 正在执行任务: D:\Espressif\tools\ninja\1.12.1\ninja.EXE [0/1] Re-running CMake...-- Minimal build - ON -- ccache will be used for faster recompilation -- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git' -- Could not use 'git describe' to determine PROJECT_VER. -- Building ESP-IDF components for target esp32 NOTICE: Processing 2 dependencies: NOTICE: [1/2] espressif/led_strip (3.0.1~1) NOTICE: [2/2] idf (5.5.0) CMake Error at D:/Espressif/frameworks/esp-idf-v5.5/tools/cmake/build.cmake:328 (message): Failed to resolve component 'ws2812' required by component 'oled': unknown name. Call Stack (most recent call first): D:/Espressif/frameworks/esp-idf-v5.5/tools/cmake/build.cmake:371 (__build_resolve_and_add_req) D:/Espressif/frameworks/esp-idf-v5.5/tools/cmake/build.cmake:372 (__build_expand_requirements) D:/Espressif/frameworks/esp-idf-v5.5/tools/cmake/build.cmake:685 (__build_expand_requirements) D:/Espressif/frameworks/esp-idf-v5.5/tools/cmake/project.cmake:740 (idf_build_process) CMakeLists.txt:8 (project) -- Configuring incomplete, errors occurred! ninja: error: rebuilding 'build.ninja': subcommand failed FAILED: build.ninja D:\Espressif\tools\cmake\3.30.2\bin\cmake.exe --regenerate-during-build -SC:\Users\Lenovo\esp32_electronic_piano -BC:\Users\Lenovo\esp32_electronic_piano\build
最新发布
10-28
* 正在执行任务: D:\Espressif\tools\ninja\1.12.1\ninja.EXE [1/12] Performing build step for 'bootloader' [1/1] C:\Windows\system32\cmd.exe /C "cd /D C:\Users\Lenovo\esp_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/esp_electronic_piano/build/bootloader/bootloader.bin" Bootloader binary size 0x6680 bytes. 0x980 bytes (8%) free. [3/12] 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/esp_electronic_piano/build/config -IC:/Users/Lenovo/esp_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/esp_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp_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/esp_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/esp_electronic_piano/components/ws2812b/src/ws2812b.c C:/Users/Lenovo/esp_electronic_piano/components/ws2812b/src/ws2812b.c:13:1: warning: data definition has no type or storage class 13 | led_brightness[NUM_LEDS]; | ^~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/ws2812b/src/ws2812b.c:13:1: error: type defaults to 'int' in declaration of 'led_brightness' [-Wimplicit-int] [5/12] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/esp_electronic_piano_main.c.obj FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/esp_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/esp_electronic_piano/build/config -IC:/Users/Lenovo/esp_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/esp_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/esp_electronic_piano/components/oled/include -IC:/Users/Lenovo/esp_electronic_piano/components/ttp229/include -IC:/Users/Lenovo/esp_electronic_piano/components/ws2812b/include -IC:/Users/Lenovo/esp_electronic_piano/managed_components/espressif__led_strip/include -IC:/Users/Lenovo/esp_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/esp_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/esp_electronic_piano_main.c.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\esp_electronic_piano_main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/esp_electronic_piano_main.c.obj -c C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c In file included from C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:9: C:/Users/Lenovo/esp_electronic_piano/components/oled/include/oled.h:17:9: warning: "OLED_BUF_SIZE" redefined 17 | #define OLED_BUF_SIZE ((OLED_WIDTH * OLED_HEIGHT) / 8) | ^~~~~~~~~~~~~ In file included from C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:7: C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:6:9: note: this is the location of the previous definition 6 | #define OLED_BUF_SIZE 1024 | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:12:15: error: conflicting types for 'tp_to_led_idx'; have 'int8_t[16]' {aka 'signed char[16]'} 12 | extern int8_t tp_to_led_idx[16]; | ^~~~~~~~~~~~~ In file included from C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:8: C:/Users/Lenovo/esp_electronic_piano/components/ws2812b/include/ws2812b.h:19:14: note: previous definition of 'tp_to_led_idx' with type 'const int8_t[16]' {aka 'const signed char[16]'} 19 | const int8_t tp_to_led_idx[16] = { | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:32:12: error: redefinition of 'selected_item' 32 | static int selected_item = 0; | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/oled/include/oled.h:19:12: note: previous definition of 'selected_item' with type 'int' 19 | static int selected_item = 0; | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c: In function 'app_main': C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:86:21: error: 'gradient_run' undeclared (first use in this function) 86 | gradient_run = false; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:86:21: note: each undeclared identifier is reported only once for each function it appears in C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:105:41: error: 'music_names' undeclared (first use in this function) 105 | oled_draw_menu("Music", music_names, 3); | ^~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:137:21: error: 'music_tracks' undeclared (first use in this function) 137 | if (music_tracks[selected_item]) { | ^~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:163:21: error: 'game_running' undeclared (first use in this function); did you mean 'eRunning'? 163 | game_running = true; | ^~~~~~~~~~~~ | eRunning C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:164:28: error: 'game_regions' undeclared (first use in this function) 164 | memset(game_regions, 0, sizeof(game_regions)); | ^~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:165:21: error: 'game_next_spawn' undeclared (first use in this function) 165 | game_next_spawn = xTaskGetTickCount() + pdMS_TO_TICKS(800); | ^~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:167:21: error: implicit declaration of function 'game_draw' [-Wimplicit-function-declaration] 167 | game_draw(); | ^~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:170:21: error: implicit declaration of function 'run_animation' [-Wimplicit-function-declaration] 170 | run_animation(); | ^~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:182:17: error: implicit declaration of function 'game_spawn_block' [-Wimplicit-function-declaration] 182 | game_spawn_block(); | ^~~~~~~~~~~~~~~~ In file included from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:66, from C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:1: C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:183:79: error: implicit declaration of function 'esp_random'; did you mean 'srandom'? [-Wimplicit-function-declaration] 183 | game_next_spawn = xTaskGetTickCount() + pdMS_TO_TICKS(1000 + (esp_random()%2000)); | ^~~~~~~~~~ D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/projdefs.h:46:81: note: in definition of macro 'pdMS_TO_TICKS' 46 | #define pdMS_TO_TICKS( xTimeInMs ) ( ( TickType_t ) ( ( ( TickType_t ) ( xTimeInMs ) * ( TickType_t ) configTICK_RATE_HZ ) / ( TickType_t ) 1000U ) ) | ^~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:208:33: error: too few arguments to function 'buzzer_play_tone' 208 | buzzer_play_tone(880); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:210:33: error: too few arguments to function 'buzzer_play_tone' 210 | buzzer_play_tone(0); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:213:33: error: too few arguments to function 'buzzer_play_tone' 213 | buzzer_play_tone(220); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:215:33: error: too few arguments to function 'buzzer_play_tone' 215 | buzzer_play_tone(0); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:221:29: error: too few arguments to function 'buzzer_play_tone' 221 | buzzer_play_tone(freq); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ In file included from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/esp_additions/include/freertos/idf_additions.h:22, from D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:1533: C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:226:44: error: 'led_mutex' undeclared (first use in this function) 226 | xSemaphoreTake(led_mutex, portMAX_DELAY); | ^~~~~~~~~ D:/Espressif/frameworks/esp-idf-v5.5/components/freertos/FreeRTOS-Kernel/include/freertos/semphr.h:279:76: note: in definition of macro 'xSemaphoreTake' 279 | #define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) ) | ^~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:227:29: error: 'led_active' undeclared (first use in this function) 227 | led_active[led_idx] = 1; | ^~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:228:29: error: 'led_brightness' undeclared (first use in this function) 228 | led_brightness[led_idx] = 255; | ^~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:230:29: error: implicit declaration of function 'led_update_from_state' [-Wimplicit-function-declaration] 230 | led_update_from_state(); | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:254:29: error: implicit declaration of function 'oled_refresh' [-Wimplicit-function-declaration] 254 | oled_refresh(); | ^~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/main/esp_electronic_piano_main.c:261:47: error: too few arguments to function 'buzzer_play_tone' 261 | if (g_mode != MODE_BLESSING_PLAY) buzzer_play_tone(0); | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp_electronic_piano/components/buzzer/include/buzzer.h:5597:11: note: declared here 5597 | esp_err_t buzzer_play_tone(uint32_t freq_hz, uint32_t duration_ms); | ^~~~~~~~~~~~~~~~ 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、付费专栏及课程。

余额充值