4

我尝试构建框架,但它返回编译器错误。如何解决这个错误?

在此处输入图像描述

4

2 回答 2

1

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 而不是原始项目。您必须不时手动提取原始项目以保持最新状态。

于 2013-06-09T21:02:22.410 回答
0

您是否将 blockskit 与静态库链接?我认为“-Wl,-no_compact_unwind”链接器标志在那里不起作用。一种解决方法可能是从 cocoapods 生成的 xcconfig 文件中删除该标志?当我这样做时,错误似乎消失了。

于 2013-05-28T21:41:16.700 回答