xcode7 ios9 about libz.tbd is not an object file (not allowed in a library)

亡梦爱人 提交于 2019-11-29 05:52:53

问题


Error:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libz.tbd is not an object file (not allowed in a library)

If I replace libz.dylib with libz.tbd, xcode shows this bug. My project is a Cocoa Touch Static Library.


回答1:


I found the solution here: https://forums.developer.apple.com/thread/4572

To summarize:

  1. Remove the libz.tbd file from the Libraries and Frameworks area.
  2. Edit your build settings for Other Linker Flags add "-lz"

It isn't ideal because it bypasses the GUI for managing the linked libraries in your project, but it works.




回答2:


The below steps solved the issue. Reference solution

As per this article:

  1. Delete all references to .tbd files from either your linked libraries phase, or from the copied bundle resources phase (where they sometimes will be added).
  2. Go to Build Phases >Link Binary with Librairies > + > Add other -> Add a library to your project, then click 'Add Other...' then press Shift+Command+G and type in the path '/usr/lib' - you'll find libz.dylib there.
  3. add "-lz" to the other linker flags


来源:https://stackoverflow.com/questions/32734097/xcode7-ios9-about-libz-tbd-is-not-an-object-file-not-allowed-in-a-library

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!