0

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

到目前为止我做了什么:

编辑:

在决定遵循有关stackoverflow的建议后,我已将 libtiff 下载到我的 Mac 上。我使用了3.9.6版本,并像本教程及其关于 SDK5的续集一样构建了它。在那里,在评论中,我找到了一个我可以改编的脚本。我已将生成的“依赖项”文件夹添加到我的 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

感谢您的帮助!

4

2 回答 2

0

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

  • 在项目导航器(左窗格)中单击您的项目名称
  • 单击您的目标并选择“构建阶段”
  • 在“Link Binary With Libraries”下,单击“+”(在现有列表的末尾)
  • 在弹出窗口中选择“添加其他..”按钮,它将打开文件浏览器窗口
  • 浏览并选择要添加的库,然后单击“打开”
于 2013-06-18T13:24:03.170 回答
0

我已经粘贴了一个bash 脚本,它在 Mac 上为 iOS 6.1 交叉编译libtiff版本3.9.6,以便在设备和模拟器中使用。您将不得不根据您的需要对其进行调整。另请参阅本教程以获取提示。它为两个编译目标创建了一个胖库。

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

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

于 2013-07-04T12:01:44.177 回答