完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件部分:esp32-s3 –wroom-1
软件部分: esp-idf-v4.4.2 开发环境:Wondows 7 IDE: Eclipse IDE for C/C++ Developers Version: 2022-06 (4.24.0) 问题描述: 原本在keil c mdk 用AT command开发蛮顺手的,但后来转到IDF确让我挫折满满,编译后出现一堆问题,在网上没有找当我想找的答案,虚心求教一下 出现问题描述: undefined reference to `app_main' undefined reference to `app_main' Symbol 'NULL' could not be resolved Symbol 'ESP_ERR_NVS_NO_FREE_PAGES' could not be resolved Symbol 'ESP_ERR_NVS_NEW_VERSION_FOUND' could not be resolved esp-idf/freertos/libfreertos.a(port_common.c.obj): in function `main_task': 设定步骤 1. 开启idf 专案 2. 挂载 https://github.com/espressif/esp-aws-iot 项目内容(esp-aws-iot-masterexampleshttp)透过import -> file system 方式把*.c *.h挂载进来 3. Cmakelist.txt不知道该如何修改 CMakeList.txt 1. set(COMPONENT_SRCS "app_main.c" "http_demo_mutual_auth.c" "http_demo_utils.c" ) set(COMPONENT_ADD_INCLUDEDIRS "." "${CMAKE_CURRENT_LIST_DIR}" ) idf_component_register(SRCS "${COMPONENT_SRCS}" INCLUDE_DIRS ${COMPONENT_ADD_INCLUDEDIRS} ) 2. # The following five lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.5) set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/examples/common_components/protocol_examples_common" "${CMAKE_CURRENT_LIST_DIR}/../../../libraries/coreHTTP" "${CMAKE_CURRENT_LIST_DIR}/../../../libraries/backoffAlgorithm" "${CMAKE_CURRENT_LIST_DIR}/../../../libraries/common/posix_compat" ) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(http_mutual_auth) target_add_binary_data(${CMAKE_PROJECT_NAME}.elf "main/certs/root_cert_auth.pem" TEXT) target_add_binary_data(${CMAKE_PROJECT_NAME}.elf "main/certs/client.crt" TEXT) target_add_binary_data(${CMAKE_PROJECT_NAME}.elf "main/certs/client.key" TEXT) 3. # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.5) include($ENV{IDF_PATH}/tools/cmake/project.cmake) get_filename_component(ProjectId ${CMAKE_CURRENT_LIST_DIR} NAME) string(REPLACE " " "_" ProjectId ${ProjectId}) project(${ProjectId}) |
|
相关推荐
1个回答
|
|
根据您提供的信息,您在使用Eclipse IDE for C/C++ Developers (2022-06, 4.24.0) 和 ESP-IDF v4.4.2 进行ESP32-S3开发时遇到了编译错误。以下是一些建议来解决这些问题:
1. 确保您的项目配置正确: - 检查项目中的 `sdkconfig` 文件是否已正确生成。如果没有,请运行 `idf.py menuconfig` 来生成配置文件。 - 确保 `CMakeLists.txt` 文件中的组件和源文件路径正确。 2. 检查 `app_main` 函数: - 确保您的项目中有 `app_main` 函数,它应该是 `void app_main(void)` 的形式。这是ESP-IDF应用程序的入口点。 3. 检查 `NULL` 符号问题: - 确保您没有在代码中使用 `NULL` 宏。在C++中,应该使用 `nullptr`。 4. 检查 `ESP_ERR_NVS_NO_FREE_PAGES` 错误: - 这个错误通常与NVS(非易失性存储)有关。请确保您的项目中使用了正确的NVS分区,并在 `menuconfig` 中配置了适当的分区大小。 5. 更新ESP-IDF和Eclipse插件: - 确保您使用的是最新版本的ESP-IDF和Eclipse插件。有时,旧版本的软件可能存在兼容性问题。 6. 清理并重新编译项目: - 在Eclipse中,尝试清理项目(Project -> Clean...),然后重新编译。 7. 检查Eclipse设置: - 确保Eclipse的C/C++设置正确,包括编译器、链接器和其他工具链设置。 8. 查看错误日志和输出: - 仔细阅读Eclipse的错误日志和输出,以获取更多关于错误的详细信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
312浏览 6评论
269浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
259浏览 5评论
262浏览 4评论
241浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 13:08 , Processed in 0.655717 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191