a6217829
(a6217829)
1
- 我的theos编译tweak,library 工程都是好的, 可以编译的
- 今天我创建了preference_bundle_modern 工程,直接编译的时候,就报如下的错误
不管怎么尝试始终是 19 errors generated,有没有前辈遇到过呢 , 求指点迷津…
Zhang
3
试试看不用theos的那个第三方sdk,切回Xcode自带的SDK.应该就能正常编译了,剩下应该还会有个Linker的报错,手动稍微处理一下。
a6217829
(a6217829)
4
张总, 不全是sdk的锅…= =
问题解决了… 我来说一下我的解决过程吧
- 起初寻找论坛类似问题的帖子, 觉得很有可能是sdk的问题, 然后在/opt/theos/sdks/ 下尝试了9.0 9.2 10.1 11.2 很多版本的sdk 和 xcode自带的sdk, 发现编译tweak工程就没问题, 只要编译 preference_bundle_modern工程 就会报上面的错误, 发现换sdk这条路行不通
- 然后google搜寻解决办法, 发现有人说跟theos的环境可能有关系, 后面实在没办法了, 选择了重装theos
- 然后发现直接可以编过了, 很是开心 , 但是还是想把之前的问题找出来 为什么会出这样的问题
- 因为之前的theos环境,我备份到别的文件夹路径, 然后我把之前的theos环境里面的文件逐步的往新的theos环境里面放 , 发现把老版本的theos的 $THEOS/include/ 下面的头文件放进新的theos/include/ 下面去的时候, 同样的问题就出现了,19 errors generated
- 然后定位到问题了, 如我上面放出来的两张图的第一张图
最前面的报错就是 /opt/theos/include/xxx 的xx头文件 与 /opt/theos/sdks/iPhone11.3sdk/usr/include/xx 的头文件有冲突, 后面把 两个路径下的头文件对比着看 , 发现了问题 , 原来是同样的头文件 或者 是同样的类 重复了, 冲突了导致的问题
- 所以得出的结论就是 /opt/theos/include/ 的头文件 和 theos的sdk头文件 重复了冲突导致的
- 去掉 /opt/theos/include/ 的头文件 , 本以为会少几个错误 , 谁知道19个错误都没了, 工程编译成功
- 为什么后面的错误 如下图
也都没有了呢 ? 这个目前的话还是有点懵的, 不知道为啥 , 但是目前的话工程已经可以编译过了, 就先没管这个问题了 , 如果有大佬知道为什么的话 , 还请不吝赐教 谢谢哦
Zhang
5
所以还是sdk的锅啊,你原来的theos自带的头文件冲突。最后那几个错的话是前置问题导致的。前面的修好了pch能过了自然就没问题了哇