在 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)
看来我很愚蠢,没有观察到一个名为第三方的文件夹。有缺失的库。在文档中没有提到它们,所以我什至没有费心去查看其他文件夹。我仍然缺少符号,但更少(我认为)。我还包括了 CoreAudio,我认为它没有帮助。我修改了我的项目:
添加到其他链接器标志:
-lg7221codec-arm-apple-darwin9 -lgsmcodec-arm-apple-darwin9 -lilbccodec-arm-apple-darwin9 -lmilenage-arm-apple-darwin9 -lresample-arm-apple-darwin9 -lspeex-arm-apple-darwin9 -lsrtp-arm-apple-darwin9
以及库搜索路径:
/Users/kudorgyozo/pjsip_iphone/third_party/lib
我不必修改标头搜索路径或包含我认为的新标头。
现在缺少的内容是:
"_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)
"_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)
"_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)
"_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)
"_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)
"_AudioUnitInitialize", referenced from:
_create_audio_unit in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.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)
"_AudioSessionInitialize", referenced from:
_ca_factory_init in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.o)
"_AudioComponentGetDescription", referenced from:
_ca_stream_get_cap in libpjmedia-audiodev-arm-apple-darwin9.a(coreaudio_dev.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)
ld: symbol(s) not found
在我看来,所有内容都来自此文件 libpjmedia-audiodev-arm-apple-darwin9.a 但我已将其包含在 lib 搜索路径中的链接器标志中。
我能够成功地构建它。缺少的框架是 AudioToolbox。谷歌搜索了 AudioSessionSetProperty,这就是我发现的。感谢您的帮助。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
看来您缺少(至少)一些库。从符号来看,我想说:
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.