linphone-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-users] Using H264 cause build error for iOS


From: Danny.Xu
Subject: [Linphone-users] Using H264 cause build error for iOS
Date: Mon, 9 Feb 2015 11:45:40 +0800

In my project, I do the following steps to make video call: 
1. Download https://www.linphone.org/releases/ios/liblinphone-iphone-sdk-2.2.4.zip
2. Import liblinphone 2.2.4 to my project.
3. Import LinphoneManager.h/.m from linphone-iphone sample project.
Everything works great when HAVE_OPENH264 is not defined. 
But I need H264, so set HAVE_OPENH264 in target build setting, and uncomment libmsopenh264_init()  in createLinphoneCore.
Then I can not build successfully. Errors are:

Undefined symbols for architecture arm64:
  "operator new(unsigned long)", referenced from:
      msopenh264_dec_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      msopenh264_enc_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      _WelsCreateDecoder in libopenh264.a(welsDecoderExt.o)
      _WelsCreateSVCEncoder in libopenh264.a(welsEncoderExt.o)
      WelsEnc::WelsInitEncoderExt(WelsEnc::TagWelsEncCtx**, WelsEnc::TagWelsSvcCodingParam*, TagLogContext*) in libopenh264.a(encoder_ext.o)
      _WelsCreateVpInterface in libopenh264.a(WelsFrameWork.o)
      WelsVP::CreateSpecificVpInterface(IWelsVP**) in libopenh264.a(WelsFrameWork.o)
      ...
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for WelsDec::CWelsDecoder in libopenh264.a(welsDecoderExt.o)
      typeinfo for WelsEnc::CWelsH264SVCEncoder in libopenh264.a(welsEncoderExt.o)
      typeinfo for WelsVP::CVpFrameWork in libopenh264.a(WelsFrameWork.o)
      typeinfo for WelsVP::CDownsampling in libopenh264.a(downsample.o)
      typeinfo for WelsVP::IStrategy in libopenh264.a(downsample.o)
      typeinfo for WelsVP::CImageRotating in libopenh264.a(imagerotate.o)
      typeinfo for WelsVP::CVAACalculation in libopenh264.a(vaacalculation.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for MSOpenH264Decoder in libmsopenh264.a(libmsopenh264_la-msopenh264dec.o)
      typeinfo for VideoStarter in libmsopenh264.a(libmsopenh264_la-msopenh264enc.o)
      typeinfo for MSOpenH264Encoder in libmsopenh264.a(libmsopenh264_la-msopenh264enc.o)
      typeinfo for ISVCDecoder in libopenh264.a(welsDecoderExt.o)
      typeinfo for ISVCEncoder in libopenh264.a(welsEncoderExt.o)
      typeinfo for WelsEnc::CMemoryAlign in libopenh264.a(memory_align.o)
      typeinfo for WelsEnc::CWelsPreProcess in libopenh264.a(wels_preprocess.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___gxx_personality_v0", referenced from:
      msopenh264_dec_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      msopenh264_enc_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      MSOpenH264Decoder::~MSOpenH264Decoder() in libmsopenh264.a(libmsopenh264_la-msopenh264dec.o)
      MSOpenH264Encoder::~MSOpenH264Encoder() in libmsopenh264.a(libmsopenh264_la-msopenh264enc.o)
      WelsDec::CWelsDecoder::~CWelsDecoder() in libopenh264.a(welsDecoderExt.o)
      WelsDec::CWelsDecoder::~CWelsDecoder() in libopenh264.a(welsDecoderExt.o)
      _WelsCreateDecoder in libopenh264.a(welsDecoderExt.o)
      ...
  "operator delete(void*)", referenced from:
      msopenh264_dec_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      msopenh264_enc_init(_MSFilter*) in libmsopenh264.a(libmsopenh264_la-msopenh264.o)
      MSOpenH264Decoder::~MSOpenH264Decoder() in libmsopenh264.a(libmsopenh264_la-msopenh264dec.o)
      VideoStarter::~VideoStarter() in libmsopenh264.a(libmsopenh264_la-msopenh264enc.o)
      MSOpenH264Encoder::~MSOpenH264Encoder() in libmsopenh264.a(libmsopenh264_la-msopenh264enc.o)
      WelsDec::CWelsDecoder::~CWelsDecoder() in libopenh264.a(welsDecoderExt.o)
      WelsDec::CWelsDecoder::~CWelsDecoder() in libopenh264.a(welsDecoderExt.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

>lipo -info libmsopenh264.a
>Architectures in the fat file: libmsopenh264.a are: armv7 i386 arm64 
The arm64 is supported, so how can I fix this build error? (Disable arm64 in "Valid Architectures" not work as well)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]