[其他ST产品] 构建生成文件中残留 emDOS 配置

[复制链接]
41|13
我的牙白 发表于 2026-4-16 23:25 | 显示全部楼层 |阅读模式
新建项目,选择 FreeRTOS(默认配置)
改主意,切换选择 emDOS(默认配置)
构建项目,出现变量缺失错误;判断 emDOS 的这个 bug 暂未修复
取消勾选 emDOS
重新选择 FreeRTOS
构建项目,仅基础工程,未修改任何默认配置
结果出现错误:cannot find -l:libosT8MLVHLDT.a: No such file or directory
临时解决办法,可以在项目设置中手动移除该库链接,暂时绕过问题。
但是只要修改 IOC 文件并重新生成代码,这个错误的库就会再次被自动加回来。


公羊子丹 发表于 2026-4-17 08:17 | 显示全部楼层
我怀疑是IOC文件里还残留着emDOS的配置缓存,建议你用文本编辑器打开IOC搜一下libos相关字段,手动删掉再重新生成代码试试。
周半梅 发表于 2026-4-17 08:20 | 显示全部楼层
这问题挺常见的!我之前也遇到过RTOS切换后库文件残留,你可以试试清理工程的编译中间文件,再重新全部生成一遍代码。
帛灿灿 发表于 2026-4-17 08:25 | 显示全部楼层
我一般遇到这种自动加回错误库的情况,会直接把工程的配置文件重置一遍,或者新建空白工程把代码挪过去,比反复改设置省事。
童雨竹 发表于 2026-4-17 08:26 | 显示全部楼层
有没有试过在编译器链接选项里把这个库强制屏蔽掉?我记得有些IDE可以设置忽略指定库文件,能防止它自动加回来。
万图 发表于 2026-4-17 08:27 | 显示全部楼层
会不会是CubeMX的配置缓存没清掉?你可以去工程目录下把mx对应的临时文件都删掉,再重新打开IOC生成代码。
Wordsworth 发表于 2026-4-17 08:28 | 显示全部楼层
我觉得这应该是CubeMX的小bug,切换RTOS时配置没清理干净,你可以反馈给ST官方,等修复前先用手动移除库的办法。
Bblythe 发表于 2026-4-17 08:29 | 显示全部楼层
你检查过工程的CMakeLists或者build配置文件吗?里面可能还保留着emDOS的链接指令,手动删掉那一行应该能解决。
Pulitzer 发表于 2026-4-17 08:30 | 显示全部楼层
我建议你先导出IOC配置,然后新建一个纯净工程再导入配置,这样能彻底避开上一个系统的残留配置,亲测有效。
Uriah 发表于 2026-4-17 08:30 | 显示全部楼层
好奇问下,你用的是哪个版本的CubeMX?我感觉新版本对多RTOS切换的兼容不太好,老版本反而很少出现这种库残留问题。
Clyde011 发表于 2026-4-17 08:31 | 显示全部楼层
遇到这种再生后自动加回错误库的情况,我都会锁定链接文件不被覆盖,这样就算重新生成代码,也不会再被改掉配置了。
茉璃夏 发表于 2026-4-23 11:02 | 显示全部楼层
CubeMX这毛病老用户都懂:切过一次emDOS,就算换回FreeRTOS,它还在链接库里加私货。
elephant00 发表于 2026-4-23 11:04 | 显示全部楼层
用记事本打开.ioc文件,搜索“emDOS”或“osT8MLVHLDT”,手动删行。
stormwind123 发表于 2026-4-23 11:08 | 显示全部楼层
做完手动删除后,把.ioc文件设置为只读,防止下次生成代码又被改回去。
七毛钱 发表于 2026-4-23 11:38 | 显示全部楼层
这个bug的本质是:用户数据残留 + 生成器覆盖不全 = 链接配置污染。
classroom 发表于 2026-4-23 12:02 | 显示全部楼层
那个libosT8MLVHLDT.a一看就是emDOS的加密库名,FreeRTOS根本不需要它。
cr315 发表于 2026-4-23 14:03 | 显示全部楼层
手动删一次不够,只要点一下Generate Code,库就自己长回来了,阴魂不散。
flycamelaaa 发表于 2026-4-23 14:04 | 显示全部楼层
不想动.ioc就每次生成代码后跑个脚本,自动从链接器参数里删掉那个库
内政奇才 发表于 2026-4-23 14:38 | 显示全部楼层
出问题前记得git commit,来回切RTOS之前先存个快照。
duo点 发表于 2026-4-23 15:03 | 显示全部楼层
根本原因是CubeMX的.ioc文件里某个隐藏flag没清干净,GUI显示改了,配置文件没改全。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

134

帖子

0

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