1. 问题
本地编译、运行皆没有问题,但是跑完门禁时,dayu200_tdd debug 报告失败,如下图所示
问题定位思路:一般情况而言,本地是好的,我们怀疑门禁有问题,不假思索地多次执行 start build。如果问题依旧,我们就要思考是否因为本次修改代码引入了问题,于是点击失败,选择日志,并查看
2. 原因
首先,由当前编写的 timer_manager_test.cpp 文件引发,在 38505 行明确提示: ‘cJSON.h’ file not found。虽然知道这个错误,但是不知道依赖哪个库.
然后,搜索 cJSON.h 字符串,看看哪个文件引用了该头文件,进而查看它可能依赖的库。
最后,经过简单分析发现外部依赖的 cJSON:cjson 最像,下面就是在目标 BUILD.gn 中添加试试看…
3. 处理方法
第一步,找到包含 “timer_manager_test.cpp” 字符串的 BUILD.gn 文件,在 external_deps 数组中添加“cJSON:cjson”.
第二步,更新代码,再次跑门禁,结果为通过。