【问题标题】:Can the Libsndfile library be used on the iPhone iOS?Libsndfile 库可以在 iPhone iOS 上使用吗?
【发布时间】:2011-06-23 18:44:35
【问题描述】:

Libsndfile C 库可以在 iPhone 操作系统上使用吗?如果是这样,我是否需要“包含”它,或者它是否更复杂。

谢谢!

【问题讨论】:

  • 我没有在支持的平台列表中看到 ARM 或 iOS,所以您可能不走运?

标签: c ios audio libsndfile


【解决方案1】:

我是 libsndfile 的主要维护者。

libsndfile 可以在 Debian/Arm 和 Android 上编译和运行。

如果没有人为 iOS 编译它,我会感到惊讶,但存在许可问题。毫无疑问,libsndfile 是根据 LGPL 发布的,它要求满足以下条件之一:

a) 该库用作动态链接库(Windows 上的 DLL、Linux 上的共享对象、OSX 上的 dynlib 等)。

b) 所有静态链接到 LGPL 库的代码都是根据 LGPL 兼容许可发布的。

c) 该库用作静态库,但将库链接到新版本所需的所有目标文件都可供应用程序的所有接收者使用。

据我了解,iOS 不支持动态链接库(Android 支持),因此选项 a) 已退出。这给您留下了选项 b) 和 c)。

如果您决定使用选项 b) 或 c),那么您仍然需要为 iOS 编译库(可能还有可选的依赖项),然后将库链接到您的代码。

【讨论】:

  • 条件 B 是我 讨厌 LGPL 的首要原因。
  • 对你有好处。您可以选择不使用 LGPL 许可软件。更好的是,您可以编写与 LGPL 许可内容竞争的软件,并以您喜欢的任何许可发布。
  • 您会考虑像 SoundTouch 的作者那样允许 iOS 应用程序的静态链接吗? surina.net/soundtouch/faq.html#license
  • 如果我是唯一的版权所有者,我可以。不幸的是,libsndfile 有很多版权持有者,我根本没有耐心去追踪他们并询问他们是否可以。
  • Android 的静态库是否可用/可以创建?
【解决方案2】:

您可以在此依赖项 tar.gz 中找到 sndfile.framework libsndfile 包装器

http://files.sbooth.org/SFBAudioEngine-dependencies.tar.bz2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    相关资源
    最近更新 更多