iDoubs的编译问题以及解决方案

去年的时候编译idoubs项目,用的xcode4.0的版本,没有问题。后面xcode也没有升级,碰到问题也没有处理

最近使用xcode4.5又遇到了问题,主要是编译选项的设置问题,和项目本身没有关系

问题一

主要是有一个id opaque的变量 unknown..

还有NgnContacts的八个错误,主要是把编译选项改为LLVM4.2即可,之前的默认选项是Apple LLVM4.1这个编译有问题

问题二

本以为可以编译成功了,但是最后报了120个错误

Undefined symbols for architecture armv7s:

  "_vpx_codec_get_caps", referenced from:

      _tdav_codec_vp8_open in libtinyDAV.a(tdav_codec_vp8.o)

  "_avcodec_alloc_context", referenced from:

      _tdav_codec_h261_open in libtinyDAV.a(tdav_codec_h261.o)

      _tdav_codec_h263_open in libtinyDAV.a(tdav_codec_h263.o)

      _tdav_codec_h264_open in libtinyDAV.a(tdav_codec_h264.o)

      _tdav_codec_mp4ves_open in libtinyDAV.a(tdav_codec_mp4ves.o)

      _tdav_codec_theora_open in libtinyDAV.a(tdav_codec_theora.o)

  "_Init_Pre_Process", referenced from:

      _tdav_codec_g729ab_open in libtinyDAV.a(tdav_codec_g729.o)

  "_speex_uwb_mode", referenced from:

      _tdav_codec_speex_open in libtinyDAV.a(tdav_codec_speex.o)

  "_speex_buffer_resize", referenced from:

      _tdav_consumer_audiounit_prepare in libtinyDAV.a(tdav_consumer_audiounit.o)

      _tdav_producer_audiounit_prepare in libtinyDAV.a(tdav_producer_audiounit.o)

  "_avcodec_init", referenced from:

      _tdav_init in libtinyDAV.a(tdav.o)

  "_avcodec_open", referenced from:

      _tdav_codec_h261_open in libtinyDAV.a(tdav_codec_h261.o)

      _tdav_codec_h263_open in libtinyDAV.a(tdav_codec_h263.o)

      _tdav_codec_h264_open in libtinyDAV.a(tdav_codec_h264.o)

      _tdav_codec_mp4ves_open in libtinyDAV.a(tdav_codec_mp4ves.o)

      _tdav_codec_theora_open in libtinyDAV.a(tdav_codec_theora.o)

      _tdav_codec_theora_decode in libtinyDAV.a(tdav_codec_theora.o)

  "_SSL_read", referenced from:

      _tnet_tls_socket_recv in libtinyNET.a(tnet_tls.o)

  "_jitter_buffer_update_delay", referenced from:

      _tdav_speex_jitterbuffer_get in libtinyDAV.a(tdav_speex_jitterbuffer.o)

  "_speex_resampler_process_int", referenced from:

      _tdav_speex_resampler_process in libtinyDAV.a(tdav_speex_resampler.o)

  "_SSL_CTX_set_default_passwd_cb_userdata", referenced from:

      _tnet_tls_socket_init in libtinyNET.a(tnet_tls.o)

类似于这样的错误,当找这些的时候,我看到了微信的编译选项的问题,猜测可能是同样的原因导致的

上截图

 

去掉armv7s,armv7s是专门为A6处理器而设置的优化,这里不需要。

原文地址:https://www.cnblogs.com/easonoutlook/p/2797582.html