3

当我在 Xcode 中执行“添加现有框架”时,我看到三个版本的 libiconv。

  1. libiconv.dylib
  2. libiconv.2.dylib
  3. libiconv.2.4.0.dylib

这个链接说最新最好的是 1.13.1。我不认为它与上面的数字相同。

有什么线索吗?

4

1 回答 1

8

通过检查/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/文件夹,唯一一个真正的库是 libiconv.2.dylib。libiconv.dylib 和 libiconv.2.4.0.dylib 都是 libiconv.2.dylib 的别名(即,如果您更喜欢用 UNIX 术语思考,则为符号链接)。

因此,在这一刻,它绝对不会让您链接到任何赔率。链接到给您最可接受的一般性的那个。因此,如果您可以处理任何版本的 API,请链接到 libiconv.dylib,如果您需要与 libiconv 版本 2 一起使用的 API,则链接到 libiconv.2.dylib,并且如果您特别依赖 2.4.0 中的功能然后链接到 libiconv.2.4.0.dylib。我认为,按照 UNIX 中的工作方式,Apple 可能会根据兼容性需要更改别名,或者在未来实际提供 dylib 的多个版本。目前,这一切都是学术性的。

从我从谷歌可以看出,libiconv-1.12 构建为 libiconv.2.4.0.dylib。我无法确定该版本编号背后的基本原理或该想法的来源。

于 2010-11-22T12:01:29.357 回答