keil编译时报错:error: L6002U: Could not open file .\***\core_cm3.o 15
编译有的例子时出现了这个问题。例子是光盘中给的,肯定没有错误。我以前编译同一个例子的时候能生成core_cm3.o这个文件,现在却生成不了,希望谁能解释一下这是什么原因吗?网上也有人和我出现了同样的问题,但都没给出具体的解决方法。谢谢!
keil我是装在默认路径,重装了好几遍还是这个样子。 展开
历时好几次的碰壁,我终于解决这个问题了。
根据百度其他答案给的思路,其实就是修改环境变量,因为当前系统TEMP和TMP环境变量存在着中文。但是如果你直接修改 %USERPROFILE% 为其他英文路径开Keil会卡死并闪退(其实是你打开main.c就闪退)!!!
因为修改成别的一个英文文件夹是不行的,你只是在环境变量中修改了文件路径,但是电脑中这些路径并不存在,所以你打开Keil才会闪退。
那么解决问题的关键就是:先在系统C盘中创建好了所有的英文路径,再你创建的文件夹路径修改环境变量!!!
准备工作:先将你的Keil软件关闭
1、在【C盘根目录】创建【UserData】文件夹
2、打开刚刚创建的【UserData】文件夹
3、在【UserData】中创建【AppData】文件夹
4、打开【AppData】在其中创建【Local】文件夹
5、打开【Local】在其中创建【Temp】
6、所有的文件创建好了,打开【Temp】文件夹
7、将你创建好的文件夹中的地址栏中的内容复制下来。
8、打开计算机右键-属性-高级系统设置-高级-环境变量
9、修改【TEMP】和【TMP】的环境变量
将原本的环境变量删除,替换为我们之前所创建文件夹的路径【 C:\UserData\AppData\Local\Temp 】
完成后如下图↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
点击确定后退出。
再次打开Keil编译即可不再报错,再次愉快写代码吧。
祝愿诸位万事如意。
1、首先第一步,找到从网上下载好keil解压后,所有的一个文件夹。
2、然后当我们一般进入文件夹之后,发现了keil程序后就直接打开用了,其实这样的做法是错误的。
3、接着我们所要做的就是先打开这个setup文件夹,如下图所示。
4、然后再点击setup来进行程序安装,这样就可以将原来的覆盖掉。
5、最后成功安装好了以后,再打开keil,就可以发现可以正常的使用了,如下图所示。
网上找到了比较科学的解释和解决方法: 正如各位大师所分析的那样是库版本引起的冲突,MDK4.7的库已经升级到CMSIS2.X版本以上了,这次的MDK5.X版已经使用的是CMSIS3.X以上,并且最重要的就是很多元件包没有需要自己根据需要安装,我在安装完ST的元件后,手贱又安装了ARM.CMSIS.3.20.3.pack,这个文件会安装到windows的目录中去,于是版本造成的冲突在卸载MDK5.0后,再安装此前的版本却因ARM.CMSIS.3.20.3并没卸载和删除而始终出错.解决办法就是将windows目录中的这个文件找到卸载并完全删除,然后再安装MDK新版,工程用CMSIS2.1版(我现在用的是官网下载的3.02版).安装后按照几位师傅指导重新加载工程,编译通过,下载后程序跑起来了!
2.自行修改用户环境变量
编译到 core_cm3.c 文件的时候就出错了,错误信息是
..\Output\STM32-DEMO.axf: error: L6002U: Could not open file ..\output\core_cm3.o: No such file or directory 一编译到core_cm3 keil就开始报错
万恶的中文用户名导致找不到路径,
解决方法
计算机右键-属性-高级系统设置-高级-环境变量-XX的用户变量(xx是用户名一部分) 里面的temp和tmp路径是%userprofile%开头,把两个%userprofile%替换成c:\user\default。这样临时文件就不用存到有中文的路径了。原来的%userprofile%默认是c:\user\中文用户名。