Libsndfile C 库可以在 iPhone 操作系统上使用吗?如果是这样,我是否需要“包含”它,或者它比那更复杂。
谢谢!
最佳答案
我是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编译库(可能还有可选的依赖项),然后将库与代码链接。