STM32CubeIDE经CubeMX配置芯片后构建报错找不到链接脚本如何解决
STM32CubeIDE 缺少链接脚本构建报错排查与解决方案
错误详情:Cannot find the specified linker script. Check the linker settings in the build configuration.
make: *** [makefile:93: fail-specified-linker-script-missing] Error 2
make: *** Waiting for unfinished jobs...
排查步骤
- 检查项目根目录是否存在后缀为
.ld的链接脚本文件,STM32 官方生成的链接脚本通常命名格式为STM32<芯片型号>_FLASH.ld或STM32<芯片型号>_RAM.ld,确认文件未被误删、移动或重命名。 - 检查 CubeMX 配置:进入
Project Manager选项卡,确认Linker Settings下的自动生成链接脚本选项已勾选,部分版本取消该选项后重新生成代码不会输出.ld文件。 - 检查 IDE 构建配置:右键项目选择
Properties,依次进入C/C++ Build->Settings->Tool Settings->MCU GCC Linker->General,查看Linker script填写的路径是否正确,是否存在拼写错误、相对路径层级错误问题。 - 确认当前选中的构建目标(Debug/Release)对应配置和链接脚本匹配,避免出现 Release 配置引用仅在 Debug 目录下存在的链接脚本的情况。
解决方法
- 若
.ld文件丢失:回到 CubeMX 界面,无需修改其他配置直接点击GENERATE CODE重新生成代码,即可自动恢复默认链接脚本。 - 若路径配置错误:在链接器配置页点击
Browse按钮,手动选中项目中实际存在的.ld文件,保存配置后重新构建即可。 - 若多构建目标配置不统一:分别进入 Debug 和 Release 的构建配置页,统一设置正确的链接脚本路径,避免切换构建目标时重复触发报错。
- 若以上操作无效:可尝试右键项目选择
Index->Rebuild刷新项目索引,清理原有构建产物后再重新执行构建。
内容的提问来源于stack exchange,提问作者Burak Can Koca
相关产品推荐
相关产品推荐

