1

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

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

现在我想OpenTok.framework为 Live Video Chat api 集成(来自 TokBox.com)。但是当我试图在我的项目中包含这个 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 所需的目录。

现在,我无法删除RadioTunesrealted 框架,也想添加OpenTok.framwork.

怎么做?

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

4

1 回答 1

0

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

于 2013-03-04T15:26:30.720 回答