新建项目没问题,通过cocoapod引入 opencv 4.3 没问题,调用也没问题。开始排查项目设置,新建项目导入其他内容,依然报错,至少说明项目设置不会是唯一出问题的地方。至少他地方会有问题。
这里我们搜索#define 可以查看到所以的宏。宏定义的时候尽力加上前缀,如果没加前缀,请不要使用关键字,类似String ,Color 这些。
这里通过排查发现了String等关键字的宏定义,直接加上前缀k。
排查完宏以后还是继续报错。这个时候就到了第二步
通过引入openCV 和发现git 项目最初提交没问题,这个时候基本就确认git代码提交中的某次出现了问题。怎么找出这个X次提交呢。
最简单的二分法,去checkout 每个节点,然后引入openCv,查看是否报错。然后查到了临近项目创建的某次提交。然后再通过删减代码build 项目成功。在删除了pch文件的时候,项目build success 了。so 基本可以找到一个问题,就是pch文件对opencv的影响。
上班,此处胜率X字。
如果文件预加载编译文件,除了mm中引入了
#ifdef __cplusplus
#import
#endif
还需要在pch文件中最前面引入,其中缘由,只可意会不可言传了。。。懂的人都懂,哈哈哈哈哈。。。。上班上哪了。