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

时间:2013-06-18 12:49:09

标签: ios xcode libtiff

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

到目前为止我做了什么:

修改

我决定在stackoverflow上遵循此建议后,已将libtiff下载到我的Mac上。我使用了版本3.9.6,并在此tutorial及其sequel中使用SDK5进行构建。在评论中,我找到了script我可以adapt。我已将生成的“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

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我已粘贴bash script,在Mac for iOS 6.1上交叉编译libtiff版本3.9.6,以便在设备和模拟器中使用。您必须根据自己的需要进行调整。另请参阅此tutorial以获取提示。它为两个编译目标创建了一个胖库。

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

然后你也添加了libz.dylib!之后,我可以在我的设备和模拟器上使用libtiff