问题描述
可以在 iPhone 操作系统上使用 Libsndfile C 库吗?如果是这样,我是否需要包含"它,或者它比那更复杂.
Can the Libsndfile C library be used on the iPhone operating system? If so, do I need to just 'include' it, or is it more complicated then that.
谢谢!
推荐答案
我是 libsndfile 的主要维护者.
I'm the main maintainer of libsndfile.
libsndfile 可以在 Debian/Arm 和 Android 上很好地编译和运行.
libsndfile can be compiled and runs quite happily on Debian/Arm and also Android.
如果没有人为 iOS 编译它,我会感到惊讶,但存在许可问题.您无疑知道,libsndfile 是在 LGPL 下发布的,它要求满足以下条件之一:
I would be surprised if no one has compiled it for iOS, but there are licensing issues. As you are no doubt aware, libsndfile is released under the LGPL which requires that one of the following conditions be met:
a) 该库用作动态链接库(Windows 上的 DLL、Linux 上的共享对象、OSX 上的 dynlib 等).
a) The library is used as a dynamically linked library (DLL on windows, shared object on Linux, dynlib on OSX etc).
b) 所有静态链接到 LGPL 库的代码都是在 LGPL 兼容许可下发布的.
b) All code that statically links to the LGPL library is released under a LGPL compatible license.
c) 该库用作静态库,但将库链接到新版本所需的所有目标文件都可供应用程序的所有接收者使用.
c) The library is used as a static library, but that all object files required to link the library against a new version be made available to all recipients of the application.
据我所知,iOS 不支持动态链接库(Android 支持),因此选项 a) 已失效.这给您留下了选项 b) 和 c).
As I understand it, iOS does not support dynamically linked libraries (Android does) so option a) is out. That leaves you with options b) and c).
如果您决定使用选项 b) 或 c),那么您仍然需要为 iOS 编译库(可能还有可选的依赖项),然后将库链接到您的代码.
If you decide to go with option b) or c) then you still need to compile the library (and possibly it optional dependencies) for iOS and then link the library against your code.
这篇关于Libsndfile 库可以在 iPhone iOS 上使用吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!