在 xcode 中向项目添加库 - 未找到符号
我正在尝试在 xcode 中制作一个使用 pjsip 的 iphone 应用程序。问题是我不知道如何链接库。这是我第一次使用其他库,所以可能我做错了什么,我只是不知道是什么。 :(
我在 mac os x 的这个文件夹中有 ARM 版本的库。 /Users/kudorgyozo/pjsip_iphone
在 Xcode 中: 我已指定这样的库和标头搜索路径:
对于包含:
/Users/kudorgyozo/pjsip_iphone/pjlib/include /Users/kudorgyozo/pjsip_iphone/pjlib-util/include /Users/kudorgyozo/pjsip_iphone/pjmedia/include /Users/ kudorgyozo/pjsip_iphone/pjnath/include /Users/kudorgyozo/pjsip_iphone/pjsip/include
对于库:
/Users/kudorgyozo/pjsip_iphone/pjlib/lib /Users/kudorgyozo/pjsip_iphone/pjlib-util/lib /Users/kudorgyozo/pjsip_iphone/pjmedia /lib /Users/kudorgyozo/pjsip_iphone/pjnath/lib /Users/kudorgyozo/pjsip_iphone/pjsip/lib
然后使用“其他链接器标志”:
-lpj-arm-apple-darwin9 -lpjlib-util-arm-apple-darwin9 -lpjmedia-arm-apple-darwin9 -lpjmedia-audiodev-arm-apple-darwin9 -lpjmedia-codec-arm-apple-darwin9 -lpjsdp-arm-apple-darwin9 -lpjnath-arm-apple-darwin9 -lpjsip-arm-apple -darwin9 -lpjsip-simple-arm-apple-darwin9 -lpjsip-ua-arm-apple-darwin9 -lpjsua-arm-apple-darwin9
这样可以吗?因为它给了我符号未找到错误。我认为从“包含的”库中找不到任何符号。我不知道出了什么问题,我刚刚开始了解如何在基于 Linux 的系统下构建应用程序,我以前只用 C# 进行过编程。
编辑:这里是缺少的符号列表:
"_AudioSessionSetProperty", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_deinit", referenced from: _pjmedia_srtp_deinit_lib in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_gsm_encode", referenced from: _gsm_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_AudioComponentInstanceNew", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionAddPropertyListener", referenced from: _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_init", referenced from: _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_Resample", referenced from: _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_speex_bits_write", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_gsm_destroy", referenced from: _gsm_codec_close in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) _gsm_codec_close in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_AudioComponentInstanceDispose", referenced from: _propListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionGetProperty", referenced from: _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioComponentFindNext", referenced from: _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_factory_init in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_encoder_ctl", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encoder_init", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioSessionSetActive", referenced from: _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioUnitRender", referenced from: _input_callback in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_dealloc", referenced from: _pjmedia_transport_srtp_stop in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_stop in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_lib_get_mode", referenced from: _pjmedia_codec_speex_init in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _pjmedia_codec_speex_init in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_SrcLinear", referenced from: _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_srtp_init", referenced from: _pjmedia_srtp_init_lib in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_init", referenced from: _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioUnitSetProperty", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioUnitUninitialize", referenced from: _propListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_destroy", referenced from: _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioUnitInitialize", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_bits_reset", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioOutputUnitStop", referenced from: _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _interruptionListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_protect_rtcp", referenced from: _transport_send_rtcp2 in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_decode_int", referenced from: _spx_codec_recover in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encoder_destroy", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_gsm_create", referenced from: _gsm_codec_open in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) _gsm_codec_open in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_crypto_get_random", referenced from: _generate_crypto_attr_value in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_unpack_unsigned", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encode_int", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_octet_string_hex_string", referenced from: _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_AudioSessionInitialize", referenced from: _ca_factory_init in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_bits_read_from", referenced from: _spx_codec_parse in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_nb_mode", referenced from: _speex_nb_mode$non_lazy_ptr in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_GetXOFF", referenced from: _pjmedia_resample_create in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_gsm_decode", referenced from: _gsm_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_speex_mode_query", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_bits_advance", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioComponentGetDescription", referenced from: _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_create", referenced from: _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_remaining", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_unprotect_rtcp", referenced from: _srtp_rtcp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_AudioOutputUnitStart", referenced from: _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionRemovePropertyListenerWithUserData", referenced from: _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_ctl", referenced from: _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_bits_nbytes", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_protect", referenced from: _transport_send_rtp in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_destroy", referenced from: _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_unprotect", referenced from: _srtp_rtp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _srtp_rtp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o)
有人为 iphone 构建 pjsip 并使用它创建了一个新项目吗?
I am trying to make an iphone app in xcode that uses pjsip. The problem is I don't know how to link the libraries. This is the first time i am using other libraries so probably i am doing something wrong i just don't know what. :(
I have the ARM version of the libraries in this folder in mac os x.
/Users/kudorgyozo/pjsip_iphone
In Xcode:
I have specified the library and header search paths like this:
for includes:
/Users/kudorgyozo/pjsip_iphone/pjlib/include /Users/kudorgyozo/pjsip_iphone/pjlib-util/include /Users/kudorgyozo/pjsip_iphone/pjmedia/include /Users/kudorgyozo/pjsip_iphone/pjnath/include /Users/kudorgyozo/pjsip_iphone/pjsip/include
for libraries:
/Users/kudorgyozo/pjsip_iphone/pjlib/lib /Users/kudorgyozo/pjsip_iphone/pjlib-util/lib /Users/kudorgyozo/pjsip_iphone/pjmedia/lib /Users/kudorgyozo/pjsip_iphone/pjnath/lib /Users/kudorgyozo/pjsip_iphone/pjsip/lib
and then using the "Other linker flags" :
-lpj-arm-apple-darwin9 -lpjlib-util-arm-apple-darwin9 -lpjmedia-arm-apple-darwin9 -lpjmedia-audiodev-arm-apple-darwin9 -lpjmedia-codec-arm-apple-darwin9 -lpjsdp-arm-apple-darwin9 -lpjnath-arm-apple-darwin9 -lpjsip-arm-apple-darwin9 -lpjsip-simple-arm-apple-darwin9 -lpjsip-ua-arm-apple-darwin9 -lpjsua-arm-apple-darwin9
Is this OK like this? Because it gives me symbol(s) not found errors. I think no symbol is found from the "included" libraries. I don't know what is wrong i'm just beginning to understand how building an app works under linux based systems i've only done programming in C# before.
EDIT: Here is a list of symbols missing:
"_AudioSessionSetProperty", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_deinit", referenced from: _pjmedia_srtp_deinit_lib in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_gsm_encode", referenced from: _gsm_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_AudioComponentInstanceNew", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionAddPropertyListener", referenced from: _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_init", referenced from: _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_Resample", referenced from: _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_speex_bits_write", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_gsm_destroy", referenced from: _gsm_codec_close in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) _gsm_codec_close in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_AudioComponentInstanceDispose", referenced from: _propListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionGetProperty", referenced from: _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioComponentFindNext", referenced from: _ca_stream_set_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_factory_init in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_encoder_ctl", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encoder_init", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioSessionSetActive", referenced from: _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioUnitRender", referenced from: _input_callback in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_dealloc", referenced from: _pjmedia_transport_srtp_stop in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_stop in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_lib_get_mode", referenced from: _pjmedia_codec_speex_init in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _pjmedia_codec_speex_init in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_SrcLinear", referenced from: _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) _pjmedia_resample_run in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_srtp_init", referenced from: _pjmedia_srtp_init_lib in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_init", referenced from: _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioUnitSetProperty", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioUnitUninitialize", referenced from: _propListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_destroy", referenced from: _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioUnitInitialize", referenced from: _create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_bits_reset", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioOutputUnitStop", referenced from: _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_stop in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) _interruptionListener in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_protect_rtcp", referenced from: _transport_send_rtcp2 in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_decode_int", referenced from: _spx_codec_recover in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encoder_destroy", referenced from: _get_speex_info in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_gsm_create", referenced from: _gsm_codec_open in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) _gsm_codec_open in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_crypto_get_random", referenced from: _generate_crypto_attr_value in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_unpack_unsigned", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_encode_int", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_octet_string_hex_string", referenced from: _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_AudioSessionInitialize", referenced from: _ca_factory_init in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_bits_read_from", referenced from: _spx_codec_parse in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_nb_mode", referenced from: _speex_nb_mode$non_lazy_ptr in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_res_GetXOFF", referenced from: _pjmedia_resample_create in libpjmedia-arm-apple-darwin9.a(resample_resample.o) "_gsm_decode", referenced from: _gsm_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(gsm.o) "_speex_mode_query", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_bits_advance", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_decode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_AudioComponentGetDescription", referenced from: _ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_srtp_create", referenced from: _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _pjmedia_transport_srtp_start in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_remaining", referenced from: _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _speex_get_next_frame in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_unprotect_rtcp", referenced from: _srtp_rtcp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_AudioOutputUnitStart", referenced from: _ca_stream_start in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_AudioSessionRemovePropertyListenerWithUserData", referenced from: _ca_stream_destroy in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o) "_speex_decoder_ctl", referenced from: _spx_codec_modify in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_open in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_speex_bits_nbytes", referenced from: _spx_codec_encode in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_protect", referenced from: _transport_send_rtp in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) "_speex_bits_destroy", referenced from: _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) _spx_codec_close in libpjmedia-codec-arm-apple-darwin9.a(speex_codec.o) "_srtp_unprotect", referenced from: _srtp_rtp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o) _srtp_rtp_cb in libpjmedia-arm-apple-darwin9.a(transport_srtp.o)
Did anybody build pjsip for iphone and created a new project using it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看来您缺少(至少)一些库。从符号来看,我想说:
AudioUnitRender
这样的符号。pjrtp
。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX
丢失的符号。gsm
。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX
丢失的符号。speex
。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX
丢失的符号。当遇到丢失的符号时,找到它们所在位置的最佳方法是:
It seems that you are missing (at least) some libraries. From the symbols, I would say that:
AudioUnitRender
pjrtp
. If there is one, then add it to the Other Link Flags. That will fix the_srtp_XXX
missing symbols.gsm
. If there is one, then add it to the Other Link Flags. That will fix the_srtp_XXX
missing symbols.speex
. If there is one, then add it to the Other Link Flags. That will fix the_srtp_XXX
missing symbols.When encountering missing symbols, the best way to find where they are is:
otool -Sv mystaticlib.a
command. It will displays the table of content for the static library.看来我很愚蠢,没有观察到一个名为第三方的文件夹。有缺失的库。在文档中没有提到它们,所以我什至没有费心去查看其他文件夹。我仍然缺少符号,但更少(我认为)。我还包括了 CoreAudio,我认为它没有帮助。我修改了我的项目:
添加到其他链接器标志:
以及库搜索路径:
我不必修改标头搜索路径或包含我认为的新标头。
现在缺少的内容是:
在我看来,所有内容都来自此文件 libpjmedia-audiodev-arm-apple-darwin9.a 但我已将其包含在 lib 搜索路径中的链接器标志中。
我能够成功地构建它。缺少的框架是 AudioToolbox。谷歌搜索了 AudioSessionSetProperty,这就是我发现的。感谢您的帮助。
It seems I was stupid and didn't observe a folder called third-party. There are the missing libraries. In the docs theye were NOT mentioned so I didn't even bother looking in the other folders. I still have missing symbols but fewer (I think). I also included CoreAudio, I don't think it helped. I modified my project:
Added to the other linker flags:
And to the library search paths:
I don't have to modify the header search path's or include new headers i THINK.
Here's what is missing now:
It seems to me all are from this file libpjmedia-audiodev-arm-apple-darwin9.a but i have included it in the linker flags an in the lib search paths.
I was able to build it successfully. The missing framework was AudioToolbox. Did a google search for AudioSessionSetProperty and that is how i found out. Thanks for help.
将每个静态库添加到您的 xcode 项目中,该项目是在构建 Pjsip 库期间构建的。然后添加与音频和核心框架相关的每个框架。
Add every static library to your xcode project which has been built during build of Pjsip libraries. Then add every framework related with Audio and Core frameworks.