完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我决定尝试最新发布的ESP8266_RTOS_SDK。我安装了最新的工具链:
xtensa-lx106-elf-macos-1.22.0-100-ge567ec7-5.2.0.tar.gz 然后我克隆了 ESP8266_RTOS_SDK 的 release/v3.3 分支。这导致我的项目生成失败,并出现以下情况: 抄送构建/lwip/lwip/src/api/if_api.o 在 /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/api/if_api.c:49:0 包含的文件中: /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/priv/sockets_priv.h:105:0: warning: "LWIP_SETGETSOCKOPT_MAXOPTLEN" redefined #define LWIP_SETGETSOCKOPT_MAXOPTLEN LWIP_MAX(16, sizeof(struct ifreq)) ^ 在 /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/priv/sockets_priv.h:45:0 包含的文件中, from /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/api/if_api.c:49: /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/sockets.h:115:0:注意:这是上一个定义的位置 #define LWIP_SETGETSOCKOPT_MAXOPTLEN 16 ^ 在 /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/api/if_api.c:49:0 包含的文件中: /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/priv/sockets_priv.h:109:8:错误:重新定义“struct lwip_setgetsockopt_data” struct lwip_setgetsockopt_data { ^ 在 /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/priv/sockets_priv.h:45:0 包含的文件中, from /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/api/if_api.c:49: /Users/卡马林/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/sockets.h:119:8:注意:最初定义在这里 struct lwip_setgetsockopt_data { ^ cc1:警告:无法识别的命令行选项“-Wno-frame-address” make[1]: *** [/Users/卡马林/esp/ESP8266_RTOS_SDK/make/component_wrapper.mk:292: lwip/src/api/if_api.o] Error 1 make: *** [/Users/卡马林/esp/ESP8266_RTOS_SDK/make/project.mk:571: component-lwip-build] Error 2 因此,我回到了示例并尝试构建: ESP8266_RTOS_SDK/examples/get-started/hello_world 并得到同样的错误。似乎包含具有相同定义的两个不同标头存在一些冲突。有人见过这个吗?对于hello_world示例,我首先使用所有默认值运行“make menuconfig”。 |
|
相关推荐
1个回答
|
|
|
为了解决这个问题,请按照以下步骤操作:
1. 确认您的环境设置正确:确保您已经安装了正确的工具链(xtensa-lx106-elf-macos-1.22.0-100-ge567ec7-5.2.0.tar.gz)和 ESP8266_RTOS_SDK 的 release/v3.3 分支。 2. 清理构建:在构建项目之前,先尝试清理之前的构建文件。在项目的根目录下,执行以下命令: ``` make clean ``` 3. 检查 lwip 配置:检查 lwip 配置文件(通常位于 components/lwip/include/lwipopts.h),确保所有必要的配置项都已正确设置。 4. 更新 lwip 源代码:尝试从 lwip 官方仓库获取最新的 lwip 源代码,然后替换 ESP8266_RTOS_SDK 中的 lwip 目录。这可以通过以下命令完成: ``` git clone https://github.com/lwip-tcpip/lwip.git cp -r lwip/src/* /path/to/ESP8266_RTOS_SDK/components/lwip/lwip/src/ ``` 5. 重新构建项目:在项目的根目录下,执行以下命令重新构建项目: ``` make ``` 6. 如果问题仍然存在,请检查错误和警告信息,以便找到具体的问题所在。在您提供的错误信息中,有一个警告: ``` warning: "LWIP_SETGETSOCKOPT_MAXOPT" ``` 这可能是由于 LWIP 配置文件中的宏定义问题。检查 lwipopts.h 文件,确保 LWIP_SETGETSOCKOPT_MAXOPT 宏定义正确。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1253浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2338浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2527浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 08:34 , Processed in 0.719975 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1303
