2014-01-24 82 views
0

在我當前的項目中,我們需要在同一個項目中同時使用live555和ffmpeg庫。我們能夠建立併爲這兩個項目沒有問題,運行樣品,但合併這兩個項目到遇到以下編譯器錯誤項目時:使用Xcode 5編譯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) 

我應該包括所有必需的文件,所以我有點傻眼由此,任何建議是值得歡迎的,謝謝。

回答

0

是的,你可以很成功地結合起來。我發現最好的方法是創建一個工作空間, 合併ffmpeg和live555庫。

這裏有一個例子。 enter image description here

+0

謝謝,我會再試一次,也許這是我合併時做的傻事。可以肯定的是,你有沒有嘗試過,看看這是否適用於Xcode 5.0.x? – Kai

+0

仍然得到相同的錯誤信息,如果你的項目是live555&ffmpeg的簡單合併,是否有可能將它上傳到某處供我下載並嘗試?在此先感謝 – Kai

+0

你可以直接聯繫我,或通過我們的Facebook頁面,也許我們可以拿出一些東西https://www.facebook.com/groups/mooncatventures/ –