【问题标题】:duplicate symbol Error : RadioTunes framework and Opentok.Framework重复符号错误:RadioTunes 框架和 Opentok.Framework
【发布时间】:2013-02-18 06:31:43
【问题描述】:

我已经在我的 ios 项目中成功实现了RadioTunes API,用于直播广播。 为此,我已经成为RadioTunes.Framewrok,libavcodec.a,libavformat.a,libavutil.a,libswresample.a.的用户

它在我的项目中运行良好。

现在我想将 OpenTok.framework(来自 TokBox.com)集成到实时视频聊天 api。但是当我试图在我的项目中包含这个 openTok.framework 时,我得到以下重复的语法错误:

duplicate symbol _avcodec_register_all in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(allcodecs.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavcodec.a(allcodecs.o)
duplicate symbol _ff_prefetch_arm in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(dsputil_arm.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavcodec.a(dsputil_arm.o)
duplicate symbol _ff_put_pixels16_arm in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(dsputil_arm.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavcodec.a(dsputil_arm.o)
duplicate symbol _ff_put_pixels8_arm in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(dsputil_arm.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavcodec.a(dsputil_arm.o)


........
duplicate symbol _ff_get_cpu_flags_arm in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(cpu.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavutil.a(cpu.o)
duplicate symbol _av_get_channel_layout_nb_channels in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(audioconvert.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavutil.a(audioconvert.o)
duplicate symbol _av_get_channel_layout_string in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(audioconvert.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavutil.a(audioconvert.o)
duplicate symbol _av_strcasecmp in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(avstring.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavutil.a(avstring.o)


duplicate symbol _av_register_all in:
    ......
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavformat.a(utils.o)
duplicate symbol _ff_read_packet in:
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/Opentok.framework/Opentok(utils.o)
    /Volumes/Drive A/Chirag/iOS project/Dolphin7-iOS-Src-v.1.6/External/ffmpeg/lib/libavformat.a(utils.o)
........
ld: 787 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

此处,“External/ffmpeg/lib/”是 RadioTunes.Framework 所需的目录。

现在,我无法删除 RadioTunes realted 框架,还想添加 OpenTok.framwork

怎么做?

谁能帮助我,如何消除这个重复的语法错误,但需要 RadioTune.framework 和 OpenTok.framework。

【问题讨论】:

  • 你好,我想实现radioTunes sdk,但问题不大。如何在无线电 sdk 中播放 .wav 文件 .thanks 提前请帮助我:)

标签: ios ios6 video-streaming radio


【解决方案1】:

如果我清楚地理解问题,请转到“构建阶段”中的“编译源”部分,然后简单地删除 ffmpeg 文件的重复条目。

【讨论】:

  • Opentok.framework 中包含 FFmpeg 的构建,但可能无法编译 RadioTunes 依赖项的必要编解码器。Gabriele 大部分是正确的。第一步是通过从“将二进制文件与库链接”任务中删除 ffmpeg 的 libav*.a 文件,从构建中删除 ffmpeg 静态库。
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多