前提 : 交接项目使用国产某芯片+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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_31441951/article/details/121952566