在iOS上应该使用哪个libiconv库?

3
当我在Xcode中执行“添加现有框架”时,我看到了三个版本的libiconv。
  1. libiconv.dylib
  2. libiconv.2.dylib
  3. libiconv.2.4.0.dylib
这个链接说最新版本是1.13.1。我认为它和上面的数字不同。
有什么线索吗?
1个回答

8
从检查/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/文件夹来看,那些中唯一真正的库是libiconv.2.dylib。而libiconv.dylib和libiconv.2.4.0.dylib都是别名(即符号链接,如果您更喜欢使用UNIX术语)指向libiconv.2.dylib。
所以目前来看,连接哪个都没有差别。连接最通用的一个即可。如果您可以处理API的任何版本,则连接libiconv.dylib;如果需要与libiconv第2版本相关联的API,则连接到libiconv.2.dylib,如果您依赖于特定于2.4.0的功能,则连接到libiconv.2.4.0.dylib。我假设苹果公司可能会像UNIX中通常的工作方式一样,在未来更改什么是别名或实际提供多个dylib版本以满足兼容性要求。目前这完全是学术问题。
从Google上找到的信息显示,libiconv-1.12构建为libiconv.2.4.0.dylib。我无法确定版本编号背后的理由或该想法的来源。

谢谢!版本号码有点奇怪,是的。 - Plumenator
2
文件版本控制与库版本控制无关,它只是确保二进制兼容性的一种方式。我相信这是autotools的规则:http://sourceware.org/autobook/autobook/autobook_91.html。 - Yongwei Wu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接