在 xcode 中向项目添加库 - 未找到符号

发布于 2024-09-03 16:47:02 字数 13007 浏览 4 评论 0原文

我正在尝试在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

韶华倾负 2024-09-10 16:47:02

看来您缺少(至少)一些库。从符号来看,我想说:

  • 您可能忘记添加 CoreAudio 框架。需要解析像 AudioUnitRender 这样的符号。
  • pjsip 应该有一个 RTP 库,其中包含 pjrtp。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX丢失的符号。
  • pjsip 应该有一个 GSM 库,其中包含 gsm。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX丢失的符号。
  • pjsip 应该有一个 Speex 库,其中包含 speex。如果有,则将其添加到“其他链接标志”中。这将修复_srtp_XXX丢失的符号。

当遇到丢失的符号时,找到它们所在位置的最佳方法是:

  • 查看符号名称。好的库总是为其符号添加前缀,因此从名称中您可以猜测哪个库拥有它。
  • 如果您设置了静态库并且想知道导出的符号,那么您可以使用 otool -Sv mystaticlib.a 命令。它将显示静态库的目录。

It seems that you are missing (at least) some libraries. From the symbols, I would say that:

  • You have probably forgot to add the CoreAudio framework. It is needed to resolve symbols like AudioUnitRender
  • There should be a RTP library from pjsip, something that contains pjrtp. If there is one, then add it to the Other Link Flags. That will fix the _srtp_XXX missing symbols.
  • There should be a GSM library from pjsip, something that contains gsm. If there is one, then add it to the Other Link Flags. That will fix the _srtp_XXX missing symbols.
  • There should be a Speex library from pjsip, something that contains 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:

  • Look at the symbol name. Good libraries always prefix their symbols, so from the name you can guess which library holds it.
  • If you have a set a static library and you want to know the symbols exported, then you can use the otool -Sv mystaticlib.a command. It will displays the table of content for the static library.
九公里浅绿 2024-09-10 16:47:02

看来我很愚蠢,没有观察到一个名为第三方的文件夹。有缺失的库。在文档中没有提到它们,所以我什至没有费心去查看其他文件夹。我仍然缺少符号,但更少(我认为)。我还包括了 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,这就是我发现的。感谢您的帮助。

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:

-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

And to the library search paths:

/Users/kudorgyozo/pjsip_iphone/third_party/lib

I don't have to modify the header search path's or include new headers i THINK.

Here's what is missing now:

  "_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

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.

月亮邮递员 2024-09-10 16:47:02

将每个静态库添加到您的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文