STM32CubeIDE新建项目调试报错:无法找到链接脚本文件
解决STM32CubeIDE链接器找不到STM32F401CBUX_FLASH.ld脚本的构建失败问题
你的构建失败源于链接器无法定位指定的STM32F401CBUX_FLASH.ld脚本文件,核心原因集中在路径解析异常或脚本缺失,以下是具体解决步骤:
步骤1:检查脚本文件是否存在
直接访问项目所在路径C:\Users\Onur Yağcı\Desktop\STM32 PROJECTS CUBE\STM32F401CB3,确认STM32F401CBUX_FLASH.ld是否存在。若文件确实缺失,执行后续步骤。
步骤2:修复路径中的特殊字符问题
报错信息中用户名显示为YaÄŸcı,这是Yağcı的乱码,说明路径包含非ASCII字符(土耳其语特殊字母),GNU工具链对这类字符的路径解析存在兼容问题。解决方式:
- 将项目迁移到不含非ASCII字符、无空格的路径下,例如
C:\STM32_Projects\STM32F401CB3 - 若系统配置允许,修改用户名,避免使用带特殊字符的名称
步骤3:重新生成或手动添加链接脚本
- 打开项目对应的
.ioc文件,点击GENERATE CODE按钮,重新生成完整的项目文件(包括链接脚本) - 若重新生成无效,可从STM32CubeIDE的模板目录复制对应脚本:
找到安装目录下的F4系列模板路径,例如C:\ST\STM32CubeIDE_1.14.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.resource.f4_1.14.0.202309141235\resources\cmsis\Device\ST\STM32F4xx\Source\Templates\gcc\,复制对应型号的FLASH.ld脚本到项目根目录
步骤4:修正构建配置中的脚本路径
右键项目 → Properties → C/C++ Build → Settings → Tool Settings → MCU GCC Linker → General,检查Linker script的路径是否正确,若指向错误路径,手动修正为项目中实际的.ld脚本路径
内容的提问来源于stack exchange,提问作者Onur Yağcı
相关产品推荐
相关产品推荐

