几天前,我在我的本地和内置的静态库中使用libshout构建了一个icecast服务器,以便在iOS上构建icecast客户端。 (XCode7.0)。
当我构建静态库时,它支持armv7,armv7s,armv64(仅限构建活动架构:False)。
所以我得到了libaudiostream.a。
然后我将使用这个库进行iOS开发。
当我使用这个库时,我在启动这个库时遇到了以下错误。
架构armv7的未定义符号:
" __ shout_httpp_parse_response",引自:
_parse_http_response in libaudiostream.a(shout.o)
" __ shout_httpp_getvar",引自:
_parse_http_response in libaudiostream.a(shout.o)
" __ shout_sock_write_bytes",引自:
_try_write in libaudiostream.a(shout.o)
" __ shout_sock_recoverable",引自:
_try_write in libaudiostream.a(shout.o)
_get_response in libaudiostream.a(shout.o)
" __ shout_sock_read_bytes",引自:
_get_response in libaudiostream.a(shout.o)
" __ shout_sock_connected",引自:
_try_connect in libaudiostream.a(shout.o)
" __ shout_httpp_destroy",引自:
.....
我的静态库也支持armv7和armv64。
我在终端上用nm检查了它。
00001538 t _updateStats
libaudiostream.a(shout.o)(对于架构armv7):
U ___memcpy_chk
U ___sprintf_chk
U ___stack_chk_fail
U ___stack_chk_guard
U ___udivdi3
U ___vsnprintf_chk
00006584 b __初始化
U __shout_httpp_create_parser
U __shout_httpp_destroy
U __shout_httpp_getvar
U __shout_httpp_initialize
U __shout_httpp_parse_response
U __shout_sock_close
U __shout_sock_connect_non_blocking
U __shout_sock_connect_wto
U __shout_sock_connected
U __shout_sock_error
U __shout_sock_initialize
U __shout_sock_read_bytes
U __shout_sock_recoverable
U __shout_sock_shutdown
U __shout_sock_write
U __shout_sock_write_bytes
U __shout_timing_get_time
U __shout_timing_sleep
U __shout_util_base64_encode
U __shout_util_dict_free
U __shout_util_dict_get
U __shout_util_dict_new
U __shout_util_dict_set
.....
所以,我的问题是,构建用于支持arm64和ARM的lib需要进行任何其他更改。 armv7或我在上面的步骤中犯了任何错误。
如果我错了,请告诉我。
提前致谢