espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.61k stars 7.27k forks source link

vector : no such file or directory (IDFGH-11452) #12587

Closed stellna closed 11 months ago

stellna commented 11 months ago

Answers checklist.

IDF version.

v.5.1.1

Operating System used.

Windows

How did you build your project?

Command line with CMake

If you are using Windows, please specify command line type.

CMD

What is the expected behavior?

Right now, I'm trying to use an esp-who deep learning face-detecting code. But As I try to build it, it show the Error. I expected it to build properly. Since, As I know that Vector and List file is the common library for C and C++.

What is the actual behavior?

image

Steps to reproduce.

  1. create an include folder below main folder.
  2. Add esp-who files into the include folder like above picture

Build or installation Logs.

[1/9] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D C:\Users\whgPd\OneDrive\Desktop\esp-test\camera_test_4\build\bootloader\esp-idf\esptool_py && C:\Users\whgPd\.espressif\python_env\idf5.1_py3.11_env\Scripts\python.exe C:/Users/whgPd/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/build/bootloader/bootloader.bin"
Bootloader binary size 0x6810 bytes. 0x7f0 bytes (7%) free.
[2/7] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj 
C:\Users\whgPd\.espressif\tools\xtensa-esp32-elf\esp-12.2.0_20230208\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.1.1\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/build/config -IC:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/include -IC:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main -IC:/Users/whgPd/esp/esp-idf/components/newlib/platform_include -IC:/Users/whgPd/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -IC:/Users/whgPd/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/whgPd/esp/esp-idf/components/freertos/esp_additions/include/freertos -IC:/Users/whgPd/esp/esp-idf/components/freertos/esp_additions/include -IC:/Users/whgPd/esp/esp-idf/components/freertos/esp_additions/arch/xtensa/include -IC:/Users/whgPd/esp/esp-idf/components/esp_hw_support/include -IC:/Users/whgPd/esp/esp-idf/components/esp_hw_support/include/soc -IC:/Users/whgPd/esp/esp-idf/components/esp_hw_support/include/soc/esp32 -IC:/Users/whgPd/esp/esp-idf/components/esp_hw_support/port/esp32/. -IC:/Users/whgPd/esp/esp-idf/components/esp_hw_support/port/esp32/private_include -IC:/Users/whgPd/esp/esp-idf/components/heap/include -IC:/Users/whgPd/esp/esp-idf/components/log/include -IC:/Users/whgPd/esp/esp-idf/components/soc/include -IC:/Users/whgPd/esp/esp-idf/components/soc/esp32 -IC:/Users/whgPd/esp/esp-idf/components/soc/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/hal/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/hal/include -IC:/Users/whgPd/esp/esp-idf/components/hal/platform_port/include -IC:/Users/whgPd/esp/esp-idf/components/esp_rom/include -IC:/Users/whgPd/esp/esp-idf/components/esp_rom/include/esp32 -IC:/Users/whgPd/esp/esp-idf/components/esp_rom/esp32 -IC:/Users/whgPd/esp/esp-idf/components/esp_common/include -IC:/Users/whgPd/esp/esp-idf/components/esp_system/include -IC:/Users/whgPd/esp/esp-idf/components/esp_system/port/soc -IC:/Users/whgPd/esp/esp-idf/components/esp_system/port/include/private -IC:/Users/whgPd/esp/esp-idf/components/xtensa/include -IC:/Users/whgPd/esp/esp-idf/components/xtensa/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/include/apps -IC:/Users/whgPd/esp/esp-idf/components/lwip/include/apps/sntp -IC:/Users/whgPd/esp/esp-idf/components/lwip/lwip/src/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/port/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/port/freertos/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/port/esp32xx/include -IC:/Users/whgPd/esp/esp-idf/components/lwip/port/esp32xx/include/arch -IC:/Users/whgPd/esp/esp-idf/components/esp_ringbuf/include -IC:/Users/whgPd/esp/esp-idf/components/efuse/include -IC:/Users/whgPd/esp/esp-idf/components/efuse/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/driver/include -IC:/Users/whgPd/esp/esp-idf/components/driver/deprecated -IC:/Users/whgPd/esp/esp-idf/components/driver/analog_comparator/include -IC:/Users/whgPd/esp/esp-idf/components/driver/dac/include -IC:/Users/whgPd/esp/esp-idf/components/driver/gpio/include -IC:/Users/whgPd/esp/esp-idf/components/driver/gptimer/include -IC:/Users/whgPd/esp/esp-idf/components/driver/i2c/include -IC:/Users/whgPd/esp/esp-idf/components/driver/i2s/include -IC:/Users/whgPd/esp/esp-idf/components/driver/ledc/include -IC:/Users/whgPd/esp/esp-idf/components/driver/mcpwm/include -IC:/Users/whgPd/esp/esp-idf/components/driver/parlio/include -IC:/Users/whgPd/esp/esp-idf/components/driver/pcnt/include -IC:/Users/whgPd/esp/esp-idf/components/driver/rmt/include -IC:/Users/whgPd/esp/esp-idf/components/driver/sdio_slave/include -IC:/Users/whgPd/esp/esp-idf/components/driver/sdmmc/include -IC:/Users/whgPd/esp/esp-idf/components/driver/sigma_delta/include -IC:/Users/whgPd/esp/esp-idf/components/driver/spi/include -IC:/Users/whgPd/esp/esp-idf/components/driver/temperature_sensor/include -IC:/Users/whgPd/esp/esp-idf/components/driver/touch_sensor/include -IC:/Users/whgPd/esp/esp-idf/components/driver/twai/include -IC:/Users/whgPd/esp/esp-idf/components/driver/uart/include -IC:/Users/whgPd/esp/esp-idf/components/driver/usb_serial_jtag/include -IC:/Users/whgPd/esp/esp-idf/components/driver/touch_sensor/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/esp_pm/include -IC:/Users/whgPd/esp/esp-idf/components/mbedtls/port/include -IC:/Users/whgPd/esp/esp-idf/components/mbedtls/mbedtls/include -IC:/Users/whgPd/esp/esp-idf/components/mbedtls/mbedtls/library -IC:/Users/whgPd/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -IC:/Users/whgPd/esp/esp-idf/components/esp_app_format/include -IC:/Users/whgPd/esp/esp-idf/components/bootloader_support/include -IC:/Users/whgPd/esp/esp-idf/components/bootloader_support/bootloader_flash/include 
-IC:/Users/whgPd/esp/esp-idf/components/esp_partition/include -IC:/Users/whgPd/esp/esp-idf/components/app_update/include -IC:/Users/whgPd/esp/esp-idf/components/esp_mm/include -IC:/Users/whgPd/esp/esp-idf/components/spi_flash/include -IC:/Users/whgPd/esp/esp-idf/components/pthread/include -IC:/Users/whgPd/esp/esp-idf/components/esp_timer/include -IC:/Users/whgPd/esp/esp-idf/components/app_trace/include -IC:/Users/whgPd/esp/esp-idf/components/esp_event/include -IC:/Users/whgPd/esp/esp-idf/components/nvs_flash/include -IC:/Users/whgPd/esp/esp-idf/components/esp_phy/include -IC:/Users/whgPd/esp/esp-idf/components/esp_phy/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/vfs/include -IC:/Users/whgPd/esp/esp-idf/components/esp_netif/include -IC:/Users/whgPd/esp/esp-idf/components/wpa_supplicant/include -IC:/Users/whgPd/esp/esp-idf/components/wpa_supplicant/port/include -IC:/Users/whgPd/esp/esp-idf/components/wpa_supplicant/esp_supplicant/include -IC:/Users/whgPd/esp/esp-idf/components/esp_coex/include -IC:/Users/whgPd/esp/esp-idf/components/esp_wifi/include -IC:/Users/whgPd/esp/esp-idf/components/esp_wifi/wifi_apps/include -IC:/Users/whgPd/esp/esp-idf/components/unity/include -IC:/Users/whgPd/esp/esp-idf/components/unity/unity/src -IC:/Users/whgPd/esp/esp-idf/components/cmock/CMock/src -IC:/Users/whgPd/esp/esp-idf/components/console -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/tool -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/typedef -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/image -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/math -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/nn -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/tvm -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/layer -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/detect -IC:/Users/whgPd/esp/esp-idf/components/esp-dl/include/model_zoo -IC:/Users/whgPd/esp/esp-idf/components/http_parser -IC:/Users/whgPd/esp/esp-idf/components/esp-tls -IC:/Users/whgPd/esp/esp-idf/components/esp-tls/esp-tls-crypto -IC:/Users/whgPd/esp/esp-idf/components/esp32-camera/driver/include -IC:/Users/whgPd/esp/esp-idf/components/esp32-camera/conversions/include -IC:/Users/whgPd/esp/esp-idf/components/esp_adc/include -IC:/Users/whgPd/esp/esp-idf/components/esp_adc/interface -IC:/Users/whgPd/esp/esp-idf/components/esp_adc/esp32/include -IC:/Users/whgPd/esp/esp-idf/components/esp_adc/deprecated/include -IC:/Users/whgPd/esp/esp-idf/components/esp_eth/include -IC:/Users/whgPd/esp/esp-idf/components/esp_gdbstub/include -IC:/Users/whgPd/esp/esp-idf/components/esp_hid/include -IC:/Users/whgPd/esp/esp-idf/components/tcp_transport/include -IC:/Users/whgPd/esp/esp-idf/components/esp_http_client/include -IC:/Users/whgPd/esp/esp-idf/components/esp_http_server/include -IC:/Users/whgPd/esp/esp-idf/components/esp_https_ota/include -IC:/Users/whgPd/esp/esp-idf/components/esp_psram/include -IC:/Users/whgPd/esp/esp-idf/components/esp_lcd/include -IC:/Users/whgPd/esp/esp-idf/components/esp_lcd/interface -IC:/Users/whgPd/esp/esp-idf/components/protobuf-c/protobuf-c -IC:/Users/whgPd/esp/esp-idf/components/protocomm/include/common -IC:/Users/whgPd/esp/esp-idf/components/protocomm/include/security -IC:/Users/whgPd/esp/esp-idf/components/protocomm/include/transports -IC:/Users/whgPd/esp/esp-idf/components/esp_local_ctrl/include -IC:/Users/whgPd/esp/esp-idf/components/espcoredump/include -IC:/Users/whgPd/esp/esp-idf/components/espcoredump/include/port/xtensa -IC:/Users/whgPd/esp/esp-idf/components/wear_levelling/include -IC:/Users/whgPd/esp/esp-idf/components/sdmmc/include -IC:/Users/whgPd/esp/esp-idf/components/fatfs/diskio -IC:/Users/whgPd/esp/esp-idf/components/fatfs/vfs -IC:/Users/whgPd/esp/esp-idf/components/fatfs/src -IC:/Users/whgPd/esp/esp-idf/components/idf_test/include -IC:/Users/whgPd/esp/esp-idf/components/idf_test/include/esp32 -IC:/Users/whgPd/esp/esp-idf/components/ieee802154/include -IC:/Users/whgPd/esp/esp-idf/components/json/cJSON -IC:/Users/whgPd/esp/esp-idf/components/mqtt/esp-mqtt/include -IC:/Users/whgPd/esp/esp-idf/components/perfmon/include -IC:/Users/whgPd/esp/esp-idf/components/spiffs/include -IC:/Users/whgPd/esp/esp-idf/components/wifi_provisioning/include -mlongcalls -Wno-frame-address  -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-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb 
-Og -fmacro-prefix-map=C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4=. -fmacro-prefix-map=C:/Users/whgPd/esp/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -c C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/main.c
In file included from C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/include/detect_face.cpp:3,  
                 from C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/main.c:10:
C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/include/human_face_detect_msr01.hpp:3:10: fatal error: vector: No such file or directory
    3 | #include "vector"
      |          ^~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.

 *  The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command ninja " terminated with exit code: 1.

More Information.

No response

igrr commented 11 months ago
In file included from C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/include/detect_face.cpp:3,  
                 from C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/main.c:10:
C:/Users/whgPd/OneDrive/Desktop/esp-test/camera_test_4/main/include/human_face_detect_msr01.hpp:3:10

You are including a C++ header file (hpp) from a C source file (main.c). C++ features, such as <vector>, aren't usable in C code. Therefore the header file doesn't get found. If your source file was a C++ source file, it would work.

You probably need to rename main.c to main.cpp, update the name in CMakeLists.txt, and possibly deal with some other things explained in this guide: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/cplusplus.html#combining-c-and-c-code