1

RadioTunesライブ ラジオ ストリーミング用の iOS プロジェクトに API を実装することに成功しました。そのために、私はユーザーを作りましたRadioTunes.Framewrok,libavcodec.a,libavformat.a,libavutil.a,libswresample.a.

私のプロジェクトでは完全に機能しています。

OpenTok.framework、ライブ ビデオ チャット 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 に答える