打印
[牛人杂谈]

搞定cannot open source input file "stdlib.h" mdk4.73错误

[复制链接]
1025|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wahahaheihei 于 2016-8-13 21:09 编辑

ARM新安装的mdk4.73版本出错,是因为以前安装了ADS1.2


解决办法:
今天打开MDK4.70编译程序时突然出现这样的错误
C:\MDK\ARM\CMSIS\Include\core_cm3.h(120): error:#5: cannot open source input file "stdint.h"
C:\MDK\ARM\CMSIS\Include\core_cm3.h(120): error:#5: cannot open source input file "stdio.h"
C:\MDK\ARM\CMSIS\Include\core_cm3.h(120): error:#5: cannot open source input file "stdlib.h"
找了半天也没找出原因,前几天还能编译通过。


后来我就在MDK4.70的安装目录下搜索"stdint.h"文件发现有这个文件,这就非常怪异了,难道是MDK配置头文件路径有错误从而找不到头文件?
修改了n次都没成功找到错误。只好卸载了,之后重装还是出现一样的错误。我就纳闷了,明明用的好好的怎么就是不对呢!
后来我发现mak能找core_cm3.h文件,所以就把"stdint.h" "stdio.h""stdlib.h"这三个文件复制到:\ProgramFiles\MDK4.7\ARM\CMSIS\Include下。
结果还是出现了..\OBJ\test.axf:Warning: L6310W: Unable to find ARM libraries. 和找不到_main符号的错误。
于是在百度上搜了..\OBJ\test.axf:Warning: L6310W: Unable to find ARM libraries. 找到了


问题解决方案:
MDKV4.70版本,安装完成后,打开工程编译会出现如下警告与错误的   L6310W: Unable to find ARM libraries
我的电脑---->右击属性---->高级---->系统---->环境变量---->系统变量
删除ADS的5个环境变量
在删除上述ADS1.2的5个系统变量之后,再重新打开KEIL下的工程文件,再次编译工程,OK!解决问题!


原来是前几天我把ADS卸载了,但是它的环境变量还在,而它的其他的依赖(库和一些文件没了)MDK4.70每次编译都去环境变量指定的地方
找标准的C库当然找不到咯!这就能解释为什么以前用的好好的,后来就总出错。而且MDK4.12不受那个环境变量路径影响。
较于以前的版本MDK4.70的库文件和编译器路径更改了。都放在了:\ProgramFiles\MDK4.7\ARM\ARMCC文件中。


有时候需要制定 --libpath=D:\Keil\ARM\ARMCC\lib

4911591839200.jpg (79.42 KB )

4911591839200.jpg

4911591811879.jpg (27.2 KB )

4911591811879.jpg
沙发
wahahaheihei|  楼主 | 2016-8-13 21:10 | 只看该作者
新版的应该不会有太大问题,另外直接用例程改工程最好用了。

使用特权

评论回复
板凳
gejigeji521| | 2016-8-13 21:18 | 只看该作者
所以安装开发软件多的话,就会容易有冲突

使用特权

评论回复
地板
zhuomuniao110| | 2016-8-22 21:59 | 只看该作者
默认情况下,应该工程会包含这个目录吧

使用特权

评论回复
5
戈卫东| | 2016-8-22 22:02 | 只看该作者
那么恭喜你啰。。。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

215

主题

3026

帖子

12

粉丝