需要帮助了解 iOS 的 Linphone SDK 库

Need Help Understanding Linphone SDK Libraries for iOS

我需要一个建议。我有几个实例,在这些实例中,我构建了几乎所有功能都已启用的 Linphone SDK,但在编译 SDK 后却以缺少库而告终。没有消息作为危险信号脱颖而出。

例如:在命令行执行这条命令:

./prepare.py -lf

产生这些结果:

NFO: Here are available features:
    ENABLE_OPENH264=OFF
    ENABLE_AMRNB=OFF
    ENABLE_H263=OFF
    ENABLE_RTP_MAP_ALWAYS_IN_SDP=OFF
    ENABLE_BV16=OFF
    ENABLE_PACKAGING=OFF
    ENABLE_AMRWB=OFF
    ENABLE_DTLS=ON
    ENABLE_GSM=ON
    ENABLE_DEBUG_LOGS=OFF
    ENABLE_MBEDTLS=ON
    ENABLE_GPL_THIRD_PARTIES=ON
    ENABLE_ILBC=ON
    ENABLE_OPUS=ON
    ENABLE_DOC=ON
    ENABLE_ISAC=ON
    ENABLE_SRTP=ON
    ENABLE_G729=OFF
    ENABLE_VCARD=OFF
    ENABLE_AMR=OFF
    ENABLE_SILK=ON
    ENABLE_X264=OFF
    ENABLE_H263P=OFF
    ENABLE_VIDEO=ON
    ENABLE_PCAP=OFF
    ENABLE_POLARSSL=OFF
    ENABLE_FFMPEG=ON
    ENABLE_UNIT_TESTS=ON
    ENABLE_NON_FREE_CODECS=OFF
    ENABLE_ZRTP=ON
    ENABLE_CODEC2=OFF
    ENABLE_WEBRTC_AEC=OFF
    ENABLE_MKV=ON
    ENABLE_TUNNEL=OFF
    ENABLE_VPX=ON
    ENABLE_SPEEX=ON
    ENABLE_NLS=ON
    ENABLE_MPEG4=OFF

就我而言,我决定为所有可用平台做好准备,并启用除 TUNNEL 功能之外的所有功能:

./prepare.py all -f -DENABLE_AMRNB=ON -DENABLE_AMRWB=ON -DENABLE_BV16=ON -DENABLE_CODEC2=ON -DENABLE_DEBUG_LOGS=ON -DENABLE_DOC=ON -DENABLE_DTLS=ON -DENABLE_FFMPEG=ON -DENABLE_G729=ON -DENABLE_GPL_THIRD_PARTIES=ON -DENABLE_GSM=ON -DENABLE_H263=ON -DENABLE_H263P=ON -DENABLE_ILBC=ON -DENABLE_ISAC=ON -DENABLE_MBEDTLS=ON -DENABLE_MKV=ON -DENABLE_MPEG4=ON -DENABLE_NLS=ON -DENABLE_NON_FREE_CODECS=ON -DENABLE_OPENH264=ON -DENABLE_OPUS=ON -DENABLE_PACKAGING=ON -DENABLE_PCAP=ON -DENABLE_POLARSSL=ON -DENABLE_RTP_MAP_ALWAYS_IN_SDP=ON -DENABLE_SILK=ON -DENABLE_SPEEX=ON -DENABLE_SRTP=ON -DENABLE_TUNNEL=OFF -DENABLE_UNIT_TESTS=OFF -DENABLE_VCARD=ON -DENABLE_VIDEO=ON -DENABLE_VPX=ON -DENABLE_WEBRTC_AEC=OFF -DENABLE_X264=ON -DENABLE_ZRTP=ON

那我运行:

make all

完成后,我打开对应的iOS项目,有几个关键库生成失败,特别是:

libbcg729a
libmswebrtc.a
libxml2.dylib
libiconv.dylib
libz.dylib
liblinphone.a
libmediastreamer_base.a
libmediastreamer_voip.a
...
other missing libraries that are giving me grief.

存在相应的子模块(例如 bcg729、msopenh264、linphone/mediastreamer2 等)

是否有人可以解释是什么原因阻止了其中一些关键库的生成,以及可能的解决方案建议?

我在构建和准备日志中看到我的计算机上存在配置问题和缺少可执行文件,导致无法成功构建核心 linphone。特别是,其中一个 libtools 可执行文件丢失了。我继续前进,为自己省去了更多麻烦,并从 http://www.linphone.org/ 下载了最新的存档。 apple-darwin 目录是我的问题:它甚至不存在。一旦该目录及其内容存在,我在构建过程中启用/禁用哪些功能并不重要。