完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在将一个工作项目从 esp.idf 4.4.3 迁移到 5.0。我的问题是,虽然 idf.py reconfigure 正确列出了内置组件,但这些组件的包含路径并未添加到编译行中。所以我在找不到属于组件的包含文件时遇到错误,例如
代码:全选 fatal error: esp_event.h: No such file or directory 如果我捕获命令行(在下面列出),它不会添加正确的路径来找到它,即 代码:全选 "${IDF_PATH}/components/esp_event/include" 如果我将它(以及所有其他捆绑的组件路径)添加到 main/CMakeLists.txt 中的 INCLUDE_DIRS,则编译成功,但由于库文件的顺序错误,在链接阶段构建失败。手动重新排序它们会导致链接步骤成功。 我的顶级 CMakeLists.txt 是标准样板,我的 main/CMakeLists.txt 是: 代码:全选 file(GLOB_RECURSE IMAGE_SOURCES images/*.c) file(GLOB MAIN_SOURCES *.c) idf_component_register(SRCS ${IMAGE_SOURCES} ${MAIN_SOURCES} REQUIRES esp_websocket_client lvgl INCLUDE_DIRS "." ) add_compile_definitions( LV_CONF_PATH=${CMAKE_CURRENT_SOURCE_DIR}/lv_conf.h LV_LVGL_H_INCLUDE_SIMPLE ) 下面是一个由 idf.py 生成的示例编译命令(为了便于阅读而分成几行)——请注意,没有 -I 选项可以将 esp_events/include 文件夹添加到包含搜索路径。附上完整的日志文件。 所有这一切都适用于 4.4.3 - 迁移指南中的任何内容都没有帮助。有任何想法吗? 代码:全选 /Users/clyde/.espressif/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DLV_CONF_INCLUDE_SIMPLE -DLV_CONF_PATH=/Users/clyde/dev/projects/esp/traffix-display/main/lv_conf.h -DLV_LVGL_H_INCLUDE_SIMPLE -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -I/Users/clyde/dev/projects/esp/traffix-display/build/config -I/Users/clyde/dev/projects/esp/traffix-display/main -I/Users/clyde/dev/tools/esp/esp-idf/components/newlib/platform_include -I/Users/clyde/dev/tools/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/clyde/dev/tools/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/clyde/dev/tools/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/clyde/dev/tools/esp/esp-idf/components/freertos/esp_additions/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_hw_support/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_hw_support/include/soc/esp32s3 -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_hw_support/port/esp32s3/. -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_hw_support/port/esp32s3/private_include -I/Users/clyde/dev/tools/esp/esp-idf/components/heap/include -I/Users/clyde/dev/tools/esp/esp-idf/components/log/include -I/Users/clyde/dev/tools/esp/esp-idf/components/soc/include -I/Users/clyde/dev/tools/esp/esp-idf/components/soc/esp32s3/. -I/Users/clyde/dev/tools/esp/esp-idf/components/soc/esp32s3/include -I/Users/clyde/dev/tools/esp/esp-idf/components/hal/esp32s3/include -I/Users/clyde/dev/tools/esp/esp-idf/components/hal/include -I/Users/clyde/dev/tools/esp/esp-idf/components/hal/platform_port/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_rom/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_rom/include/esp32s3 -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_rom/esp32s3 -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_common/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_system/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_system/port/soc -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_system/port/include/private -I/Users/clyde/dev/tools/esp/esp-idf/components/xtensa/include -I/Users/clyde/dev/tools/esp/esp-idf/components/xtensa/esp32s3/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp_timer/include -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/include -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/include/apps -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/lwip/src/include -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/port/esp32/include -I/Users/clyde/dev/tools/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/clyde/dev/projects/esp/traffix-display/managed_components/lvgl__lvgl -I/Users/clyde/dev/projects/esp/traffix-display/managed_components/lvgl__lvgl/src -I/Users/clyde/dev/projects/esp/traffix-display/managed_components -I/Users/clyde/dev/projects/esp/traffix-display/components/gdl90/include -I/Users/clyde/dev/projects/esp/traffix-display/managed_components/espressif__esp_websocket_client/include -I/Users/clyde/dev/tools/esp/esp-idf/components/esp-tls -I/Users/clyde/dev/tools/esp/esp-idf/components/esp-tls/esp-tls-crypto -I/Users/clyde/dev/tools/esp/esp-idf/components/mbedtls/port/include -I/Users/clyde/dev/tools/esp/esp-idf/components/mbedtls/mbedtls/include -I/Users/clyde/dev/tools/esp/esp-idf/components/mbedtls/mbedtls/library -I/Users/clyde/dev/tools/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -I/Users/clyde/dev/tools/esp/esp-idf/components/tcp_transport/include -I/Users/clyde/dev/tools/esp/esp-idf/components/http_parser -mlongcalls -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=/Users/clyde/dev/projects/esp/traffix-display=. -fmacro-prefix-map=/Users/clyde/dev/tools/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v5.0" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/events.c.obj -MF esp-idf/main/CMakeFiles/__idf_main.dir/events.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/events.c.obj -c /Users/clyde/dev/projects/esp/traffix-display/main/events.c |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:09 , Processed in 0.720798 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号