Xcode -dynamic没有指定静态库的错误

我在Xcode中有一个子项目,它创build一个由父项目引用的静态库。 所有这一切都很好,直到iOS 7.1和Xcode 5.1的发布,突然我收到以下警告。

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: -dynamic not specified the following flags are invalid: -ObjC warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/libsqlite3.0.dylib is a dynamic library, not added to the static library 

有谁知道我需要做什么来解决这个警告?

我认为解决scheme在于dynamic库和静态库的基本概念。 就图书馆而言,dynamic库(在你的情况下是libsqlite3.0.dylib)是系统库,你不需要把它们添加到你的静态库! 所有你需要做的就是把你的最终目标中的参考添加到你的应用程序中。

所以,简而言之:尝试从静态库中删除对sqlite3.0.dylib的引用(我猜你在顶级应用程序中使用的另一个项目),并将其添加到您的应用程序(而不是静态库)可能很好走。 (解决了我的问题)

[编辑]:请提交您的项目的git或做任何事情来做您的项目的备份,Xcode可能会删除这些dynamic库和NO之后没有理由地破坏您的项目的机会,删除项目的派生数据不会解决这个问题。

Interesting Posts