使用Xcode 5编译live555和ffmpeg

问题描述 投票:0回答:1

在我当前的项目中,我们需要在同一个项目中使用 live555 和 ffmpeg 库。我们可以毫无问题地为这两个项目构建并运行示例,但是当将这两个项目合并到项目中时,遇到了以下编译器错误:

Undefined symbols for architecture armv7:
  "av_free_packet(AVPacket*)", referenced from:
      -[MyRtspClient readFFmpegAudioFrameAndDecode] in MyRtspClient.o
  "av_read_frame(AVFormatContext*, AVPacket*)", referenced from:
      -[MyRtspClient readFFmpegAudioFrameAndDecode] in MyRtspClient.o
  "av_strerror(int, char*, unsigned long)", referenced from:
      -[MyRtspClient readFFmpegAudioFrameAndDecode] in MyRtspClient.o
  "av_dict_set(AVDictionary**, char const*, char const*, int)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_init_packet(AVPacket*)", referenced from:
      -[MyRtspClient readFFmpegAudioFrameAndDecode] in MyRtspClient.o
  "avcodec_register_all()", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_register_all()", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_log_set_level(int)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_log(void*, int, char const*, ...)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avformat_alloc_context()", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avformat_network_deinit()", referenced from:
      -[MyRtspClient destroyFFmpegAudioStream] in MyRtspClient.o
  "avformat_open_input(AVFormatContext**, char const*, AVInputFormat*, AVDictionary**)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avformat_find_stream_info(AVFormatContext*, AVDictionary**)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_find_best_stream(AVFormatContext*, AVMediaType, int, int, AVCodec**, int)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_dump_format(AVFormatContext*, int, char const*, int)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avformat_network_init()", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "av_dict_free(AVDictionary**)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
  "avcodec_find_decoder(AVCodecID)", referenced from:
      -[MyRtspClient initFFmpegAudioStream] in MyRtspClient.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我应该包含所有必需的文件,所以我对此有点困惑,欢迎任何建议,谢谢。

ios ffmpeg live555
1个回答
0
投票

是的,你可以非常成功地将它们结合起来。我发现最好的方法是创建一个工作区, 合并 ffmpeg 和 live555 库。

这是一个例子。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.