最近开通了这块领地,本想着通过着好好记录一下自己学习linux的历程。没想到开局第一篇竟然得写MDK的这个报错了。整整搞了我1天的时间。
原来使用的MDK3.5,发现调试过程中没办法查看STM32芯片的一些外围寄存器,使用起来不太方便。于是决定改用最新的MDK版本。谁知道竟然报错:“error:5# cannot open source input file "stdint.h".”。
首先所缺文件是C库的头文件,不可能是添加个路径就能解决的事(尽管有网友噗之以鼻的“教导”我们这样做)。
其次该错误确实是由于安装了ADS的缘故,两个编译器有冲突。导致了MDK编译过程中无法找到 \ARM\ARMCC\include中的头文件。尽管他们确实存在。
解决办法:
MDK软件本身是不存在问题的,主要的步骤就在于卸载ADS1.2,记住要完全卸载,
1、在控制面板中,卸载ADS;
2、到ADS安装目录下查看是否依然存在残留文件夹,将其删除。
3、删除ADS的残留注册表,运行-regedit,出现注册表编辑器窗口:
删除注册表HKEY_CURRENT_USER\SOFTWARE\ARM Limited\ARM Developer Suite
删除HKEY_LOCAL_MACHINE\SOFTWARE\ARM Limited\ARM Developer Suite
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下查找{406FBBD8-EAFA-11D4-8FD0-0010B5688C67}的项,也将其删除。
4、删除环境变量 “我的电脑”---"属性"----“高级”---“环境变量”。在系统变量中删除所有与ADSv1.2有关的变量。 重新打开MDK工程,编译,就一切OK了!。