我尝试构建框架,但它返回编译器错误。如何解决这个错误?
2 回答
Blockskit 依赖于 libffi,它在其 podspec 中包含此标志。但是,自版本 ld64-134.9 以来,链接器似乎不再支持它(您可以通过从命令行输入 ld -v 来检查您正在运行的版本)。
我已经发送了一个拉取请求来纠正这个问题。同时,我发现的唯一解决方案是在每次运行“pod install”后从生成的 Pods.xconfig 文件中手动删除“-Wl,-no_compact_unwind”。顺便说一句,无论您是针对静态库还是应用程序进行链接,都会出现问题。
我希望我的修复将很快被合并。
** 更新 **
固定的!
** 更新 **
不幸的是,BlocksKit 开发人员不接受我的解决方案,并且问题没有在他的测试机器上重现。所以目前最好的选择是: 1. 在每次“pod update”之后手动删除标志(如上所述) 2. Fork BlocksKit,从那里删除编译器标志,然后更新你的 Podfile 以指向你的 fork 而不是原始项目。您必须不时手动提取原始项目以保持最新状态。
您是否将 blockskit 与静态库链接?我认为“-Wl,-no_compact_unwind”链接器标志在那里不起作用。一种解决方法可能是从 cocoapods 生成的 xcconfig 文件中删除该标志?当我这样做时,错误似乎消失了。