keil5 编译的时候不通过找不到sys.o文件,运行不通过解决方法(win10)

..\OBJ\test.axf: error: L6002U: Could not open file ..\obj\sys.o: No such file or directory

程序是光盘里面的,未改动

以上是编译stm32程序出现的问题。




以下是解决方法:


环境变量里有中文,这个也要改:计算机右键-属性-高级系统设置-高级-环境变量-XX的用户变量(xx是用户名一部分) 里面的temp 和tmp路径是%userprofile%开头,把两个%userprofile%替换成c:\usertemp   (这个文件名是自定义的,保证全都是英文,先在C盘里建好,再修改就行了)





### 如何在 Keil MDK 5 中将工程文件编译生成 Hex 文件 #### 配置项目设置 为了使项目能够成功编译生成 `.hex` 文件,需要确保项目的输出选项已正确配置。进入 **Project** 菜单下的 **Options for Target 'Target 1'...**, 并选择 **Output** 标签页。 在此页面上,勾选 "Create HEX File" 复选框[^1]。这一操作指示编译器除了创建默认的目标文件外还要额外生成一个十六进制格式的文件用于编程下载或其他用途。 #### 使用 `fromelf` 工具转换目标文件 如果希望通过命令行方式来处理或查看由MDK产生的`.axf` 或者 `.o` 文件的信息,则可以调用 `fromelf` 实用程序。此工具同样适用于手动指定参数从而得到特定类型的输出文件比如`.bin`, `.hex`. 对于希望直接获得.hex的结果而必经过中间.axf阶段的情况,可以在上述提到过的 Output Tab里边到相应的路径栏位填写合适的命令字符串给FromELF Tool使用以实现自动化流程. ```bash fromelf --output=projectname.hex projectname.axf ``` 以上命令假设当前目录下存在名为 `projectname.axf` 的输入文件,并将其转化为相同名称但扩展名为 .hex 的二进制映像文件. #### 解决常见错误提示 当遇到类似于 “fatal error sys.h file not found”的警告时,通常是因为缺少必要的头文件或者是库函数链接失败所引起的。检查是否已经包含了所有必需的源码以及正确的设置了包含路径(Included Paths)[^2]. 另外也要确认安装包内自带的标准C/C++运行支持(Run-Time Support)组件已经被加入到了Linker Input中的Use Memory Layout from Target对话框当中去.
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值