1

我正在尝试使用RTSPPlay的项目mooncatventures。但它向我显示了这样的错误。

Ld /Users/name/Library/Developer/Xcode/DerivedData/RtspPlay1-eiclkyfwtlgulpcbdsuhpovfaaia/Build/Products/Debug-iphonesimulator/RtspPlay1Play.app/RtspPlay1Play normal i386
    cd "/Users/name/Desktop/LIVE TV/try/RTSPPlay-master"
    setenv IPHONEOS_DEPLOYMENT_TARGET 4.3
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/devubhamanek/Library/Developer/Xcode/DerivedData/RtspPlay1-eiclkyfwtlgulpcbdsuhpovfaaia/Build/Products/Debug-iphonesimulator -F/Users/user/Library/Developer/Xcode/DerivedData/RtspPlay1-eiclkyfwtlgulpcbdsuhpovfaaia/Build/Products/Debug-iphonesimulator "-F/Users/user/Desktop/LIVE TV/try/RTSPPlay-master" -filelist /Users/user/Library/Developer/Xcode/DerivedData/RtspPlay1-eiclkyfwtlgulpcbdsuhpovfaaia/Build/Intermediates/RtspPlay1.build/Debug-iphonesimulator/RtspPlay1Play.build/Objects-normal/i386/RtspPlay1Play.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -lbz2 -lm -lz -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=4.3 -framework FFPlayer -framework FFmpegDecoder -framework SDL -framework Foundation -framework UIKit -framework CoreGraphics -framework AudioToolbox -framework QuartzCore -framework OpenGLES -framework CoreAudio -framework MediaPlayer -o /Users/user/Library/Developer/Xcode/DerivedData/RtspPlay1-eiclkyfwtlgulpcbdsuhpovfaaia/Build/Products/Debug-iphonesimulator/RtspPlay1Play.app/RtspPlay1Play

Undefined symbols for architecture i386:
  "_SDL_AddTimer", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_CloseAudio", referenced from:
      _stream_component_close in FFPlayer(main.o)
  "_SDL_CondSignal", referenced from:
      _SDL_main in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
      _packet_queue_abort in FFPlayer(main.o)
      _packet_queue_put in FFPlayer(main.o)
  "_SDL_CondWait", referenced from:
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
      _packet_queue_get in FFPlayer(main.o)
  "_SDL_CreateCond", referenced from:
      _SDL_main in FFPlayer(main.o)
      _packet_queue_init in FFPlayer(main.o)
  "_SDL_CreateMutex", referenced from:
      _SDL_main in FFPlayer(main.o)
      _packet_queue_init in FFPlayer(main.o)
  "_SDL_CreateRGBSurface", referenced from:
      _SDL_main in FFPlayer(main.o)
      _video_open in FFPlayer(main.o)
  "_SDL_CreateRenderer", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_CreateThread", referenced from:
      _SDL_main in FFPlayer(main.o)
      _stream_component_open in FFPlayer(main.o)
  "_SDL_CreateWindow", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_Delay", referenced from:
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
      _decode_thread in FFPlayer(main.o)
  "_SDL_DestroyCond", referenced from:
      _do_exit in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
  "_SDL_DestroyMutex", referenced from:
      _do_exit in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
  "_SDL_DestroyTexture", referenced from:
      _video_display in FFPlayer(main.o)
  "_SDL_EventState", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_FillRect", referenced from:
      _video_display in FFPlayer(main.o)
  "_SDL_FreeSurface", referenced from:
      _SDL_main in FFPlayer(main.o)
      _do_exit in FFPlayer(main.o)
  "_SDL_GL_SetAttribute", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_Init", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_LockSurface", referenced from:
      _video_thread in FFPlayer(main.o)
  "_SDL_MapRGB", referenced from:
      _video_display in FFPlayer(main.o)
  "_SDL_OpenAudio", referenced from:
      _stream_component_open in FFPlayer(main.o)
  "_SDL_PauseAudio", referenced from:
      _stream_component_open in FFPlayer(main.o)
  "_SDL_PixelFormatEnumToMasks", referenced from:
      _SDL_main in FFPlayer(main.o)
      _video_open in FFPlayer(main.o)
  "_SDL_PollEvent", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_PushEvent", referenced from:
      _sdl_refresh_timer_cb in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _decode_thread in FFPlayer(main.o)
  "_SDL_RenderPresent", referenced from:
      _video_display in FFPlayer(main.o)
  "_SDL_SendQuit", referenced from:
      -[SDLUIKitDelegate quitSdl] in SDL_uikitappdelegate.o
      -[SDLUIKitDelegate applicationWillTerminate:] in SDL_uikitappdelegate.o
      -[SDLUIKitDelegate applicationDidEnterBackground:] in SDL_uikitappdelegate.o
  "_SDL_UnlockSurface", referenced from:
      _video_thread in FFPlayer(main.o)
  "_SDL_WaitEvent", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_SDL_WaitThread", referenced from:
      _do_exit in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
  "_SDL_mutexP", referenced from:
      _SDL_main in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
      _packet_queue_get in FFPlayer(main.o)
      _packet_queue_abort in FFPlayer(main.o)
      _packet_queue_flush in FFPlayer(main.o)
      ...
  "_SDL_mutexV", referenced from:
      _SDL_main in FFPlayer(main.o)
      _stream_component_close in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
      _packet_queue_get in FFPlayer(main.o)
      _packet_queue_abort in FFPlayer(main.o)
      _packet_queue_flush in FFPlayer(main.o)
      ...
  "_av_audio_convert", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
  "_av_audio_convert_alloc", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
  "_av_audio_convert_free", referenced from:
      _stream_component_close in FFPlayer(main.o)
      _sdl_audio_callback in FFPlayer(main.o)
  "_av_bitstream_filter_next", referenced from:
      _show_formats in cmdutils.o
  "_av_close_input_file", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_codec_next", referenced from:
      _show_formats in cmdutils.o
  "_av_dup_packet", referenced from:
      _packet_queue_put in FFPlayer(main.o)
  "_av_find_input_format", referenced from:
      _opt_format in FFPlayer(main.o)
  "_av_find_opt", referenced from:
      _opt_default in cmdutils.o
  "_av_find_stream_info", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_free", referenced from:
      _SDL_main in FFPlayer(main.o)
      _free_subpicture in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _packet_queue_get in FFPlayer(main.o)
  "_av_free_packet", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
      _packet_queue_flush in FFPlayer(main.o)
      _decode_thread in FFPlayer(main.o)
  "_av_freep", referenced from:
      _free_subpicture in FFPlayer(main.o)
      _packet_queue_flush in FFPlayer(main.o)
  "_av_get_bits_per_sample_format", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
  "_av_get_int", referenced from:
      _video_thread in FFPlayer(main.o)
  "_av_get_string", referenced from:
      _set_context_opts in cmdutils.o
  "_av_gettime", referenced from:
      _SDL_main in FFPlayer(main.o)
      _get_master_clock in FFPlayer(main.o)
      _video_display in FFPlayer(main.o)
      _get_video_clock in FFPlayer(main.o)
      _stream_component_open in FFPlayer(main.o)
      _sdl_audio_callback in FFPlayer(main.o)
      _stream_pause in FFPlayer(main.o)
      ...
  "_av_iformat_next", referenced from:
      _show_formats in cmdutils.o
  "_av_init_packet", referenced from:
      _SDL_main in FFPlayer(main.o)
      _decode_thread in FFPlayer(main.o)
  "_av_log", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_malloc", referenced from:
      _packet_queue_put in FFPlayer(main.o)
  "_av_mallocz", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_av_metadata_get", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_oformat_next", referenced from:
      _show_formats in cmdutils.o
  "_av_open_input_file", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_protocol_next", referenced from:
      _show_formats in cmdutils.o
  "_av_read_frame", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_read_pause", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_read_play", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_av_realloc", referenced from:
      _opt_default in cmdutils.o
  "_av_register_all", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_av_set_string3", referenced from:
      _opt_default in cmdutils.o
      _set_context_opts in cmdutils.o
  "_av_strdup", referenced from:
      _parse_options in cmdutils.o
  "_av_strlcat", referenced from:
      _show_help_options in cmdutils.o
  "_av_strlcpy", referenced from:
      _show_help_options in cmdutils.o
      _SDL_main in FFPlayer(main.o)
  "_avcodec_alloc_context2", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_avcodec_alloc_frame", referenced from:
      _video_thread in FFPlayer(main.o)
  "_avcodec_close", referenced from:
      _stream_component_close in FFPlayer(main.o)
  "_avcodec_decode_audio3", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
  "_avcodec_decode_subtitle2", referenced from:
      _subtitle_thread in FFPlayer(main.o)
  "_avcodec_decode_video2", referenced from:
      _video_thread in FFPlayer(main.o)
  "_avcodec_find_decoder", referenced from:
      _stream_component_open in FFPlayer(main.o)
  "_avcodec_flush_buffers", referenced from:
      _sdl_audio_callback in FFPlayer(main.o)
      _video_thread in FFPlayer(main.o)
      _subtitle_thread in FFPlayer(main.o)
  "_avcodec_open", referenced from:
      _stream_component_open in FFPlayer(main.o)
  "_avcodec_register_all", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_avcodec_thread_init", referenced from:
      _stream_component_open in FFPlayer(main.o)
  "_avcodec_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_avdevice_register_all", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_avdevice_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_avfilter_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_avformat_alloc_context", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_avformat_seek_file", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_avformat_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_avpicture_alloc", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_avutil_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_dump_format", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_parse_date", referenced from:
      _parse_time_or_die in cmdutils.o
  "_sws_getCachedContext", referenced from:
      _video_thread in FFPlayer(main.o)
  "_sws_getContext", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_sws_scale", referenced from:
      _video_thread in FFPlayer(main.o)
  "_swscale_version", referenced from:
      _print_all_lib_versions in cmdutils.o
  "_url_feof", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_url_ferror", referenced from:
      _decode_thread in FFPlayer(main.o)
  "_url_ftell", referenced from:
      _SDL_main in FFPlayer(main.o)
  "_url_set_interrupt_cb", referenced from:
      _decode_thread in FFPlayer(main.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有人可以帮助我吗,谢谢各位。我已经检查过了SDL.Framework,我没有看到任何问题。我是否必须在我的项目中添加一些库才能运行这个项目或在 mac 中。

4

1 回答 1

3

ffmpegdecoder.framework 中的 ffmpeg 版本不是为模拟器构建的。这表明您正在为模拟器构建。

架构 i386 的未定义符号:

将项目设置更改为 release ,从您的拱门中删除 armv7s ,它应该构建得很好。

在模拟器上运行并不能很好地代表像这样使用 iPhone GPU 的项目。

如果您在构建时遇到问题,或者您绝对必须在模拟器上运行,请联系 michelle@mooncatventures.com,我们绝对可以帮助您进行这些更改。

于 2013-03-02T15:00:31.263 回答