2

我收到链接错误,例如:

   +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
  "_deflate", referenced from:
      +[MTAWXOHelper GZip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
  "_deflateEnd", referenced from:
      +[MTAWXOHelper GZip:Out:] in libWeChatSDK.a(MTAWXOHelper.o)
  "_deflateInit2_", referenced from:

但我已经将这些库添加到我的目标中。但目前所有这些库都有不同的扩展名 .tbd。

任何想法?谢谢。

4

2 回答 2

10

XCode 7 在链接 tbd 文件时存在一个已知问题。这是苹果开发者论坛关于如何在 XCode 7 中链接 tbd 文件的答案的链接 - https://forums.developer.apple.com/message/8609#8609

[以下链接中的片段可用]

这是 Xcode 7 beta 中的一个已知问题。

要暂时解决此问题,请:

  • 从链接库阶段或复制的捆绑资源阶段(有时会添加它们)中删除对 .tbd 文件的所有引用。
  • 通过添加参数将要手动链接的库添加到“其他链接器标志”构建设置: -l 用于要链接的每个库(例如,添加“-lsqlite3”(不带引号))。

对于那些好奇的人,.tbd 文件是新的“基于文本的存根库”,它提供了一个更紧凑的存根库版本供 SDK 中使用,并有助于显着减少其下载大小。

于 2015-06-19T06:41:31.443 回答
4

我有两个使用 zlib 的项目,一个发现它可以链接,一个没有。我通过使用“链接框架和库”中的“+”来设置它们。我终于想出了如何修复非工作的:

  1. 删除您在之前尝试中添加的所有指向 zlib 的链接
  2. 打开 Finder,前往/usr/lib并将libz.dylib别名拖到项目的 Frameworks 文件夹中
  3. 编译。这对我来说在 2015/08/23 有效。
于 2015-08-24T01:57:27.770 回答