Libsndfile C ライブラリは iPhone オペレーティング システムで使用できますか? もしそうなら、私はそれを「含める」必要がありますか、それとももっと複雑ですか?
ありがとう!
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 用にライブラリ (および場合によってはオプションの依存関係) をコンパイルしてから、ライブラリをコードに対してリンクする必要があります。
この依存関係 tar.gz 内に sndfile.framework libsndfile ラッパーを見つけることができます