【发布时间】:2014-07-15 12:58:44
【问题描述】:
教程声明要添加libz.1.2.3.dylib.库,但是因为我下载了更新或旧的库(我不确切知道我的库是否比教程中的库更新或旧,但99%是更新的) .所以,当我尝试添加libz.1.2.3.dylib. 库时,我没有找到它。然而,当我输入libz 时,我发现了这些选项:
请问我应该选择哪一个?
【问题讨论】:
-
请注意我和其他人在提交问题或答案之前阅读右侧的相关问题
教程声明要添加libz.1.2.3.dylib.库,但是因为我下载了更新或旧的库(我不确切知道我的库是否比教程中的库更新或旧,但99%是更新的) .所以,当我尝试添加libz.1.2.3.dylib. 库时,我没有找到它。然而,当我输入libz 时,我发现了这些选项:
请问我应该选择哪一个?
【问题讨论】:
在使用动态库时,您通常使用的是 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 指向的内容)
【讨论】:
libz.dylib?