2014-07-15 48 views
1

我下面this tutorial加入libz.1.2.3.dylib VS libz.1.1.3.dylib或libz.1.2.5.dylib

教程状态添加libz.1.2.3.dylib.库,但因为我已经下载或更新较旧的图书馆(我不确定我的图书馆是否更新或更旧,本教程中的图书馆,但99%更新)。所以,当我试图添加libz.1.2.3.dylib.库时,我没有找到它。然而,当我输入libz我发现这些选择:

enter image description here

哪一个我应该选择吗?

+0

[libz.dylib vs libz.1.2.3.dylib vs libz.1.2.5.dylib](http://stackoverflow.com/questions/6932991/libz-dylib-versus -libz-1-2-3-dylib-versus-libz-1-2-5-dylib) – Mark

+0

请注意我和他人阅读在提交问题或答案前右侧的相关问题 – Mark

回答

1

在使用动态库时,通常使用的库是libX.major_version.dylib,在本例中为libz.1.2.dylib。这是一个链接到一个库libX.major_version.minor_version.dylib这里是libz.1.2.5.dylib

这样做的基本原理是主版本只在API更改时更改,次版本是当有任何更改时更新。因此,您的程序在使用任何相同主要版本时应该可以工作,因此您需要最新版本。

在这种情况下,本教程有一个较旧的安装,所以它的libz.1.2.dylib。应该指向libz.1.2.3.dylib。

对于你来说,你应该使用libz.1.2.5.dylib,它应该像教程版本,但有错误修复和可能的额外功能在这里不重要,因为本教程不会调用新功能。

通常libX.1.x.dylib会比libX.2.y.dylib旧的,但作家可能会产生错误修复旧的API,同时还致力于新的API

从理性继我给libz.dylib应该是一个链接到最高数字库,但我不会使用它,因为你正在写一个特定的API,所以我会使用特定版本(在这种情况下,如果缺少链接,我不会相信什么是libz .dylib指向)

+0

...所以只需添加'libz.dylib'? – trojanfoe

+0

@trojanfoe不,我猜1.2.5, –

+0

你的意思是1.2.5吧? –