我决定尝试最新发布的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”。
0