一、问题描述
电脑里安装的Keil C51使用一直没问题。
最近装了Keil MDK,编译就提示错误“Error: L6833E: File '..\obj\sys.o' does not exist”。但Keil C51编译依然正常。
二、查找原因
1、原因
因为系统TEMP和TMP环境变量存在着中文,修改环境变量。
2、直接修改
直接修改环境变量 %USERPROFILE% 为其他英文路径,重启电脑打开Keil会“闪退”(实际是打开.c文件就闪退)!此时,KEIL C51和KEIL MDK打开都会闪退。
环境变量改回原来的值,问题回到初始状态:C51正常,MDK报错。
3、再找原因
“因为修改成别的一个英文文件夹是不行的,你只是在环境变量中修改了文件路径,但是电脑中这些路径并不存在,所以你打开Keil才会闪退。”
三、解决问题的过程/步骤
先在系统C盘中创建好所有的英文路径,copy创建的文件夹路径, 修改环境变量!!!
准备工作:先将你的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 C51或MDK编译不再报错。
感谢网友分享,祝愿诸君写代码愉快!