使用UFBT启动Flipper Zero Hello World应用时遇ld.exe链接错误求助
解决UFBT launch时的ld链接错误:--gc-sections requires a defined symbol root
错误详情
ld.exe: --gc-sections requires a defined symbol root specified by -e or -u
collect2.exe: error: ld returned 1 exit status
scons: *** [C:\Users\knlkl.ufbt\build\hello_world_d.elf] Error 1
解决步骤
- 确认项目来源:确保你的Hello World项目是通过
ufbt create hello_world命令生成的官方模板。手动创建的项目大概率缺失必要的链接脚本或构建配置,直接用模板生成新项目后迁移代码即可。 - 检查SConstruct配置:打开项目根目录的
SConstruct文件,确认包含基础UFBT构建逻辑,不要随意修改自动生成的配置项。标准配置示例:Import("env") env.Append( CPPPATH=[ "#/src", ], ) env.BuildProgram() - 清理重建:执行
ufbt clean清除旧构建缓存,再运行ufbt launch重新构建部署。 - 修复工具链:删除
C:\Users\knlkl\.ufbt\toolchain目录,重新执行ufbt update,确保工具链文件完整无损坏。
内容的提问来源于stack exchange,提问作者knlklabacka
相关产品推荐
相关产品推荐

