乐鑫技术交流
直播中

毛萃

7年用户 890经验值
私信 关注
[问答]

RTOS SDK v. 1.5编译错误的原因?

到目前为止,我使用的是 SDK v 1.3,但今天我决定切换到 1.5 SDK。我从这里下载了SDKhttps://github.com/espressif/esp8266_rtos_sdk/tree/master并尝试编译它,但出现错误:
c:/乐鑫/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Lc:/乐鑫/ESP8266_RTOS_SDK/lib -Lout/build -Trom0.ld -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group, out/build/app_app.a -lgcc -lhal -lphy -lpp -lmain -lssl -lnet80211 -lESPN康-lwpa -lcrypto -lfreertos -lcirom -llwip -lminic -lpwm -lsmartconfig -wl,--end-group -Wl,-Map,foo0.map -o out/build/app_0.out
c:/Espressif/ESP8266_RTOS_SDK/liblibespconn.a(espconn_buf.o):(.text.ringbuf_内存0xc):对“os_memset”的未定义引用
c:/Espressif/ESP8266_RTOS_SDK/liblibespconn.a(espconn_buf.o):在函数“ringbuf_memset”中:
(.text.ringbuf_内存0x6a):对“os_memset”的未定义引用
collect2.exe:错误:ld 返回 1 个退出状态

我试图找到os_memset函数,但 SDK 中似乎不存在它。
我对此感到困惑,因为我相信 SKD 内部不可能有错误。谁能说出可能出了什么问题?
                                                                                                                                                   

回帖(1)

郭大

2024-7-10 17:56:56
1. 确保您已经安装了所有必要的依赖项,例如 Xtensa 编译器、Python 和 CMake。

2. 检查您的环境变量是否正确设置。确保 `ESP8266_RTOS_SDK` 路径正确,并且 `PATH` 变量包含了 Xtensa 编译器的路径。

3. 确保您的项目目录结构与 SDK 1.5 版本兼容。有时,升级 SDK 版本可能需要对项目目录结构进行调整。

4. 检查您的 CMakeLists.txt 文件,确保它与 SDK 1.5 版本兼容。可能需要更新或修改一些参数。

5. 确保您的代码没有使用已在新版本中弃用的 API 或功能。

6. 仔细检查编译错误信息,看看是否有特定的文件或代码行出现问题。这将帮助您确定问题所在。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分