繁体   English   中英

如何为Xcode项目和iOS应用程序制作libtiff?

[英]How to make libtiff for an Xcode project and an iOS application?

我一直在stackoverflow和Google上下搜索,寻找正确的方法来编译libtiff库并将其添加到Xcode中现有的iOS项目中。

到目前为止,我所做的是:

编辑:

在决定遵循有关stackoverflow的建议后,我已将libtiff下载到我的Mac。 我使用了3.9.6版,并像本教程及其关于SDK5的续集一样构建了它。 在那里,在评论中,我找到了可以适应脚本 我已经将生成的“ dependencies”文件夹添加到我的Xcode项目中,几乎就像rakmoh建议的那样。

但是,一旦我#include tiffio.h ,我就收到了链接器错误:

Undefined symbols for architecture armv7:  "_inflateEnd", referenced from:
  _PixarLogCleanup in libtiff.a(tif_pixarlog.o)
  _ZIPSetupEncode in libtiff.a(tif_zip.o)
.
... some more...
.
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我还尝试了最新版本的libtiff ,但是并没有改变任何事情,因此我回到了3.9.6,因为它与项目中的其他软件兼容。 然后我问一个同事,他发现那是libz库丢失了。 从日志文件中,他看到libtiff编译期间肯定已经存在该文件,而Xcode项目中的链接器仍然缺少该文件。 瞧! 当我将其添加到框架中时(带有小+号并浏览libz.dylib的列表),我的空测试项目已编译。

在写答案之前,我想做一些测试,但是我已经将成功的shell脚本更新为pastebin

谢谢您的帮助!

以下是在XCode 4.6.2中将库添加到iOS项目中的步骤(在旧版本的XCode中应该类似):

  • 在项目导航器中单击您的项目名称(左窗格)
  • 单击您的目标,然后选择“构建阶段”
  • 在“将二进制文件与库链接”下,单击“ +”(在现有列表的末尾)
  • 在弹出窗口中选择“添加其他..”按钮,它将打开文件浏览器窗口
  • 浏览并选择要添加的库,然后单击“打开”

我粘贴了一个bash脚本 ,该脚本在Mac上针对iOS 6.1的Mac上交叉编译libtiff版本3.9.6 ,以在设备和模拟器中使用。 您将不得不使其适应您的需求。 另请参阅本教程以获取提示。 它为两个编译目标都创建了一个胖库。

rakmoh的答案也是正确的,但这只是解决方案的一部分。 您可以在他建议的“添加其他..”对话框中添加带有胖库的文件夹。

然后,您还添加libz.dylib! 之后,我可以在设备和模拟器上的应用程序中使用libtiff

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM