简体   繁体   中英

Need Help Understanding Linphone SDK Libraries for iOS

I need a suggestion. I've had several instances in which I built the Linphone SDK with nearly everything enabled and ended up with missing libraries after compiling the SDK. No messages are standing out as a red flag.

For example: executing this command at the command line:

./prepare.py -lf

Yields these results:

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

In my case, I decided to prepare for all available platforms, and enable everything except the TUNNEL feature:

./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

Then I ran:

make all

After completion, I opened the corresponding iOS project and several critical libraries failed to be generated, in particular:

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.

The corresponding submodules are present (eg bcg729, msopenh264, linphone/mediastreamer2, etc.)

Does anyone have a possible explanation as to what causes prevented a few of these key libraries from being generated, and possible suggestions for solutions?

I saw in the build and prepare logs that I had configuration issues and missing executables on my computer that prevented successful builds of core linphone. In particular, one of those libtools executables were missing. I went ahead, saved myself any more trouble and downloaded the latest archive from http://www.linphone.org/ . The apple-darwin directory was my problem: it didn't even exist. Once that directory and its contents were present, it didn't really matter which features I enable / disable during the build.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM