如何修复“是一个动态库,而不是添加到静态库”警告?

时间:2014-03-22 02:16:08

标签: xcode cocos2d-iphone static-libraries cocos2d-iphone-2.x

我刚刚升级到Xcode 5.1,突然间出现了一个新警告:

  

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:   文件:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/libz.dylib   是一个动态库,未添加到静态库

生成此警告的目标是cocos2d-iphone v2静态库(而不是使用cocos2d模板,我创建了一个静态库)。要创建静态库,我所做的就是将cocos2d项目添加到我的工作区,让我的项目链接到cocos2d链接到的库,就是这样。在此更新之前,这一切都运行良好,但现在有一个警告。

我该如何解决这个问题?我不想搞乱cocos2d项目,因为有些项目我使用的是cocos2d模板,而不是静态库。

1 个答案:

答案 0 :(得分:11)

静态库目标无法链接到dylib。以前这只是被忽略了。您需要从静态库目标中删除所述dylib,并在必要时将其添加到构建实际应用程序的每个目标。

使用Libraries Build Phase查看链接二进制文件。知道cocos2d可能需要从cocos2d目标的Build Settings中删除其他链接器标记“-lz”。