7.分工合作include:指定多个配置文件

本文详细介绍了如何在Struts框架中配置一个独立的Action模块,包括创建特定的配置文件及如何将其整合到主配置文件中,使开发人员能够更好地理解和应用Struts框架。

转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

比如让jack来单独开发一个action,在jack.xml中的配置文件为:
<struts>

       <package name="jack" namespace="/jack" extends="struts-default">

              <action name="test4" class="com.asm.Test4Action">

                     <result name="success">/forward/test4.jsp</result>

              </action>

       </package> 

</struts>

然后在struts.xml文件中增加如下内容:<include file="jack.xml"></include> 它实质就是把jack.xml中的<package>及其内容写进struts.xml中的<struts>根元素下。

链接:<a href="<%=path %>/jack/test4.action">test4</a> 这样便可以访问到了forward目录下的test4.jsp了。

转载于:https://www.cnblogs.com/sharpest/p/5580554.html

* 正在执行任务: 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"... -- 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) -- 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 -- 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 shared_state 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 C:/Users/Lenovo/esp32_electronic_piano/components/shared_state 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.8s) -- Generating done (1.1s) -- Build files have been written to: C:/Users/Lenovo/esp32_electronic_piano/build * 正在执行任务: D:\Espressif\tools\ninja\1.12.1\ninja.EXE [1/20] 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. [3/20] 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:7:10: fatal error: shared_state.h: No such file or directory 7 | #include "shared_state.h" | ^~~~~~~~~~~~~~~~ compilation terminated. [4/20] Building C object esp-idf/shared_state/CMakeFiles/__idf_shared_state.dir/shared_state.c.obj FAILED: esp-idf/shared_state/CMakeFiles/__idf_shared_state.dir/shared_state.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/shared_state -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/shared_state/CMakeFiles/__idf_shared_state.dir/shared_state.c.obj -MF esp-idf\shared_state\CMakeFiles\__idf_shared_state.dir\shared_state.c.obj.d -o esp-idf/shared_state/CMakeFiles/__idf_shared_state.dir/shared_state.c.obj -c C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:9:5: error: redeclaration of enumerator 'MODE_NORMAL' 9 | MODE_NORMAL = 0, | ^~~~~~~~~~~ In file included from C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:1: C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:17:5: note: previous definition of 'MODE_NORMAL' with type 'enum <anonymous>' 17 | MODE_NORMAL = 0, | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:10:5: error: redeclaration of enumerator 'MODE_LED_KEY_INTERACT' 10 | MODE_LED_KEY_INTERACT, | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:18:5: note: previous definition of 'MODE_LED_KEY_INTERACT' with type 'enum <anonymous>' 18 | MODE_LED_KEY_INTERACT, | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:11:5: error: redeclaration of enumerator 'MODE_LED_GRADIENT_CYCLE' 11 | MODE_LED_GRADIENT_CYCLE, | ^~~~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:19:5: note: previous definition of 'MODE_LED_GRADIENT_CYCLE' with type 'enum <anonymous>' 19 | MODE_LED_GRADIENT_CYCLE, | ^~~~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:12:5: error: redeclaration of enumerator 'MODE_BLESSING_PLAY' 12 | MODE_BLESSING_PLAY, | ^~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:20:5: note: previous definition of 'MODE_BLESSING_PLAY' with type 'enum <anonymous>' 20 | MODE_BLESSING_PLAY, | ^~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:13:5: error: redeclaration of enumerator 'MODE_GAME' 13 | MODE_GAME | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:21:5: note: previous definition of 'MODE_GAME' with type 'enum <anonymous>' 21 | MODE_GAME | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:14:3: error: conflicting types for 'app_mode_t'; have 'enum <anonymous>' 14 | } app_mode_t; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:22:3: note: previous declaration of 'app_mode_t' with type 'app_mode_t' 22 | } app_mode_t; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:16:21: error: conflicting types for 'g_mode'; have 'app_mode_t' 16 | volatile app_mode_t g_mode = MODE_NORMAL; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:24:28: note: previous declaration of 'g_mode' with type 'app_mode_t' 24 | extern volatile app_mode_t g_mode; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:37:5: error: redeclaration of enumerator 'MENU_NONE' 37 | MENU_NONE, | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:45:5: note: previous definition of 'MENU_NONE' with type 'enum <anonymous>' 45 | MENU_NONE, | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:38:5: error: redeclaration of enumerator 'MENU_MUSIC_SELECT' 38 | MENU_MUSIC_SELECT, | ^~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:46:5: note: previous definition of 'MENU_MUSIC_SELECT' with type 'enum <anonymous>' 46 | MENU_MUSIC_SELECT, | ^~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:39:5: error: redeclaration of enumerator 'MENU_FUNC_SELECT' 39 | MENU_FUNC_SELECT | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:47:5: note: previous definition of 'MENU_FUNC_SELECT' with type 'enum <anonymous>' 47 | MENU_FUNC_SELECT | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:40:3: error: conflicting types for 'menu_state_t'; have 'enum <anonymous>' 40 | } menu_state_t; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:48:3: note: previous declaration of 'menu_state_t' with type 'menu_state_t' 48 | } menu_state_t; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:42:23: error: conflicting types for 'current_menu'; have 'menu_state_t' 42 | volatile menu_state_t current_menu = MENU_NONE; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:50:30: note: previous declaration of 'current_menu' with type 'menu_state_t' 50 | extern volatile menu_state_t current_menu; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:69:18: error: static declaration of 'note_freqs' follows non-static declaration 69 | static const int note_freqs[16] = { | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:63:18: note: previous declaration of 'note_freqs' with type 'const int[16]' 63 | extern const int note_freqs[16]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:74:22: error: static declaration of 'key_map' follows non-static declaration 74 | static 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/shared_state/shared_state.h:66:22: note: previous declaration of 'key_map' with type 'const uint8_t[16]' {aka 'const unsigned char[16]'} 66 | extern const uint8_t key_map[16]; | ^~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:77:22: error: static declaration of 'bm_music' follows non-static declaration 77 | static const uint8_t bm_music[] = { | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:69:22: note: previous declaration of 'bm_music' with type 'const uint8_t[]' {aka 'const unsigned char[]'} 69 | extern const uint8_t bm_music[]; | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:82:61: error: conflicting types for 'tone_t'; have 'struct <anonymous>' 82 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:71:61: note: previous declaration of 'tone_t' with type 'tone_t' 71 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:83:14: error: conflicting types for 'blessing'; have 'const tone_t[]' 83 | const tone_t blessing[] = { | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:72:21: note: previous declaration of 'blessing' with type 'const tone_t[]' 72 | extern const tone_t blessing[]; | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:2304:14: error: conflicting types for 'monitoring'; have 'const tone_t[]' 2304 | const tone_t monitoring[] = { | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:75:21: note: previous declaration of 'monitoring' with type 'const tone_t[]' 75 | extern const tone_t monitoring[]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:3999:14: error: conflicting types for 'bad_apple'; have 'const tone_t[]' 3999 | const tone_t bad_apple[] = { | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:78:21: note: previous declaration of 'bad_apple' with type 'const tone_t[]' 78 | extern const tone_t bad_apple[]; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:5668:15: error: conflicting types for 'music_tracks'; have 'const tone_t *[3]' 5668 | const tone_t* music_tracks[3] = {blessing, monitoring, bad_apple}; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:83:22: note: previous declaration of 'music_tracks' with type 'const tone_t *[3]' 83 | extern const tone_t* music_tracks[3]; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:77:22: error: 'bm_music' defined but not used [-Werror=unused-const-variable=] 77 | static const uint8_t bm_music[] = { | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.c:74:22: error: 'key_map' defined but not used [-Werror=unused-const-variable=] 74 | static 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/shared_state/shared_state.c:69:18: error: 'note_freqs' defined but not used [-Werror=unused-const-variable=] 69 | static const int note_freqs[16] = { | ^~~~~~~~~~ cc1.exe: some warnings being treated as errors [6/20] 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 -IC:/Users/Lenovo/esp32_electronic_piano/components/shared_state -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 In file included from C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:6: C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:17:5: error: redeclaration of enumerator 'MODE_NORMAL' 17 | MODE_NORMAL = 0, | ^~~~~~~~~~~ In file included from C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:5: C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:17:5: note: previous definition of 'MODE_NORMAL' with type 'enum <anonymous>' 17 | MODE_NORMAL = 0, | ^~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:18:5: error: redeclaration of enumerator 'MODE_LED_KEY_INTERACT' 18 | MODE_LED_KEY_INTERACT, | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:18:5: note: previous definition of 'MODE_LED_KEY_INTERACT' with type 'enum <anonymous>' 18 | MODE_LED_KEY_INTERACT, | ^~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:19:5: error: redeclaration of enumerator 'MODE_LED_GRADIENT_CYCLE' 19 | MODE_LED_GRADIENT_CYCLE, | ^~~~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:19:5: note: previous definition of 'MODE_LED_GRADIENT_CYCLE' with type 'enum <anonymous>' 19 | MODE_LED_GRADIENT_CYCLE, | ^~~~~~~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:20:5: error: redeclaration of enumerator 'MODE_BLESSING_PLAY' 20 | MODE_BLESSING_PLAY, | ^~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:20:5: note: previous definition of 'MODE_BLESSING_PLAY' with type 'enum <anonymous>' 20 | MODE_BLESSING_PLAY, | ^~~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:21:5: error: redeclaration of enumerator 'MODE_GAME' 21 | MODE_GAME | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:21:5: note: previous definition of 'MODE_GAME' with type 'enum <anonymous>' 21 | MODE_GAME | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:22:3: error: conflicting types for 'app_mode_t'; have 'enum <anonymous>' 22 | } app_mode_t; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:22:3: note: previous declaration of 'app_mode_t' with type 'app_mode_t' 22 | } app_mode_t; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:24:28: error: conflicting types for 'g_mode'; have 'app_mode_t' 24 | extern volatile app_mode_t g_mode; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:24:28: note: previous declaration of 'g_mode' with type 'app_mode_t' 24 | extern volatile app_mode_t g_mode; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:45:5: error: redeclaration of enumerator 'MENU_NONE' 45 | MENU_NONE, | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:45:5: note: previous definition of 'MENU_NONE' with type 'enum <anonymous>' 45 | MENU_NONE, | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:46:5: error: redeclaration of enumerator 'MENU_MUSIC_SELECT' 46 | MENU_MUSIC_SELECT, | ^~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:46:5: note: previous definition of 'MENU_MUSIC_SELECT' with type 'enum <anonymous>' 46 | MENU_MUSIC_SELECT, | ^~~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:47:5: error: redeclaration of enumerator 'MENU_FUNC_SELECT' 47 | MENU_FUNC_SELECT | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:47:5: note: previous definition of 'MENU_FUNC_SELECT' with type 'enum <anonymous>' 47 | MENU_FUNC_SELECT | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:48:3: error: conflicting types for 'menu_state_t'; have 'enum <anonymous>' 48 | } menu_state_t; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:48:3: note: previous declaration of 'menu_state_t' with type 'menu_state_t' 48 | } menu_state_t; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:50:30: error: conflicting types for 'current_menu'; have 'menu_state_t' 50 | extern volatile menu_state_t current_menu; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:50:30: note: previous declaration of 'current_menu' with type 'menu_state_t' 50 | extern volatile menu_state_t current_menu; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:71:61: error: conflicting types for 'tone_t'; have 'struct <anonymous>' 71 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:71:61: note: previous declaration of 'tone_t' with type 'tone_t' 71 | typedef struct { float freq; float dur; const char *note; } tone_t; | ^~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:72:21: error: conflicting types for 'blessing'; have 'const tone_t[]' 72 | extern const tone_t blessing[]; | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:72:21: note: previous declaration of 'blessing' with type 'const tone_t[]' 72 | extern const tone_t blessing[]; | ^~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:75:21: error: conflicting types for 'monitoring'; have 'const tone_t[]' 75 | extern const tone_t monitoring[]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:75:21: note: previous declaration of 'monitoring' with type 'const tone_t[]' 75 | extern const tone_t monitoring[]; | ^~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:78:21: error: conflicting types for 'bad_apple'; have 'const tone_t[]' 78 | extern const tone_t bad_apple[]; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:78:21: note: previous declaration of 'bad_apple' with type 'const tone_t[]' 78 | extern const tone_t bad_apple[]; | ^~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:83:22: error: conflicting types for 'music_tracks'; have 'const tone_t *[3]' 83 | extern const tone_t* music_tracks[3]; | ^~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/shared_state/shared_state.h:83:22: note: previous declaration of 'music_tracks' with type 'const tone_t *[3]' 83 | 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:39:12: error: 'blessing_running' undeclared (first use in this function) 39 | while (blessing_running) { | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:39:12: 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:42:17: warning: unused variable 'd' [-Wunused-variable] 42 | int d = track[i].dur; | ^ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:48:5: error: 'blessing_task_handle' undeclared (first use in this function); did you mean 'music_task_handle'? 48 | blessing_task_handle = NULL; | ^~~~~~~~~~~~~~~~~~~~ | music_task_handle 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:53:9: error: 'blessing_running' undeclared (first use in this function) 53 | if (blessing_running) return; | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:55:75: error: 'blessing_task_handle' undeclared (first use in this function); did you mean 'music_task_handle'? 55 | BaseType_t r = xTaskCreate(blessing_task, "blessing", 4096, NULL, 5, &blessing_task_handle); | ^~~~~~~~~~~~~~~~~~~~ | music_task_handle C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c: In function 'stop_blessing_task': C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:63:10: error: 'blessing_running' undeclared (first use in this function) 63 | if (!blessing_running) return; | ^~~~~~~~~~~~~~~~ C:/Users/Lenovo/esp32_electronic_piano/components/buzzer/src/buzzer.c:66:12: error: 'blessing_task_handle' undeclared (first use in this function); did you mean 'music_task_handle'? 66 | while (blessing_task_handle != NULL && t < 50) { vTaskDelay(pdMS_TO_TICKS(50)); t++; } | ^~~~~~~~~~~~~~~~~~~~ | music_task_handle [9/20] Building C object esp-idf/oled/CMakeFiles/__idf_oled.dir/src/oled.c.obj ninja: build stopped: subcommand failed. * 终端进程“D:\Espressif\tools\ninja\1.12.1\ninja.EXE”已终止,退出代码: 1。
最新发布
10-28
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值