前提 : 交接项目使用国产某芯片+MDK开发环境,原工程编译OK,删掉之前.O文件,再编译失败
排查 :
1 . 检测编译生成文件的确没有该.o文件,但存在该文件的.C、.H文件
2 . 检测该文件添加入工程的路径,正常
3 . 检测文件内容,也无问题
4 . 网上说与KEIL安装路径有关,参考链接;但本人是英文本来就是英文路径,重启电脑无效
5 . 开始排查关联文件,发现关联其他文件有一函数,变量定义在语句执行内(符合C++,但违反C),修改后,重新编译,问题解决
总结
后续修改该工程,发现该国产芯片编译无法确定定位到程序错误位置。出现改错误问题可能是:
1 . 变量定义在语句执行内(符合C++,但违反C)
2 . 定义枚举类型被删除,但程序还有该枚举变量
3 . 工程残留过去头文件,影响编译
版权声明:本文为qq_31441951原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。