[Security] STMCubeIDE编译 nosys.spec出错

[复制链接]
 楼主| 我的牙白 发表于 2025-5-22 09:00 | 显示全部楼层 |阅读模式
ST, os, IDE, MCU, STM
用STMCubeIDE编译 nosys.spec出现错误提示,如下
> collect2: error: ld returned 1 exit status
> make: *** [makefile:44: help.elf] Error 1
> arm-none-eabi-gcc: error: nosys.specs: No such file or directory
没找到错误根源

jcky001 发表于 2025-5-22 16:27 | 显示全部楼层
链接器脚本配置错误?
elephant00 发表于 2025-5-22 16:29 | 显示全部楼层
检查环境变量,工具链的路径保证在系统PATH中。
jcky001 发表于 2025-5-22 18:00 | 显示全部楼层
检查工具链安装。
cr315 发表于 2025-5-22 20:00 | 显示全部楼层
用nano.specs。
flycamelaaa 发表于 2025-5-22 20:23 | 显示全部楼层
清理并重建项目。
公羊子丹 发表于 2025-5-24 09:05 | 显示全部楼层
看起来是工具链缺失或路径没配好,nosys.specs 是 newlib 里用的文件,你可以查下工具链路径。
周半梅 发表于 2025-5-24 09:05 | 显示全部楼层
检查 Project -> C/C++ Build -> Settings -> Toolchain path,是不是写错或没装完整。
帛灿灿 发表于 2025-5-24 09:06 | 显示全部楼层
把 nosys.specs 换成 --specs=rdimon.specs 试试看,有时是链接配置文件选错了。
童雨竹 发表于 2025-5-24 09:07 | 显示全部楼层
有可能是 CubeIDE 升级后没正确更新工具链,重新装一下 ARM GCC Embedded 试试。
万图 发表于 2025-5-24 09:08 | 显示全部楼层
你看看工程的 .cproject 文件里有没有手动加 --specs=nosys.specs,删掉重试一下。
Wordsworth 发表于 2025-5-24 09:08 | 显示全部楼层
这个 nosys.specs 是为了屏蔽默认系统调用的,如果没这需求可以去掉它。
Bblythe 发表于 2025-5-24 09:09 | 显示全部楼层
我之前也遇到过,最后是路径里有中文或空格导致找不到 specs 文件。
Pulitzer 发表于 2025-5-24 09:10 | 显示全部楼层
STMCubeIDE 用的默认工具链一般在 STM32CubeIDE/plugins 目录下,确认文件是否存在。
Uriah 发表于 2025-5-24 09:11 | 显示全部楼层
如果你用的是非官方的Makefile,要保证 --specs 参数引用的是工具链内的实际文件名。
Clyde011 发表于 2025-5-24 09:12 | 显示全部楼层
最保险的方式是新建一个空项目,导入代码,看是不是还报错,排除工程配置问题。
gaonaiweng 发表于 2025-5-31 17:59 | 显示全部楼层
nosys.specs 是 GNU ARM 工具链提供的一个“spec文件”,用来替代标准的系统调用(syscalls)实现,适合裸机环境,不依赖操作系统。

如果链接时指定了 -specs=nosys.specs,但找不到该文件,就会报这个错。
小迷糊仙 发表于 2025-6-4 12:29 | 显示全部楼层
我是来学习 的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部