2012-04-03 189 views
1

可能重複:
problem compiling ffmpeg for iFrameExtractor使用的ffmpeg和Xcode

我已經成功地在Mac上的終端運行FFMPEG,但我有問題的Xcode。我用iFrameExtractor但我發現這些錯誤:

ld: warning: ignoring file /Users/training/Desktop/iFrameExtractor/ffmpeg/lib/libavformat.a, file was built for archive which is not the architecture being linked (i386) 
ld: warning: ignoring file /Users/training/Desktop/iFrameExtractor/ffmpeg/lib/libavcodec.a, file was built for archive which is not the architecture being linked (i386) 
ld: warning: ignoring file /Users/training/Desktop/iFrameExtractor/ffmpeg/lib/libavdevice.a, file was built for archive which is not the architecture being linked (i386) 
ld: warning: ignoring file /Users/training/Desktop/iFrameExtractor/ffmpeg/lib/libavutil.a, file was built for archive which is not the architecture being linked (i386) 
ld: warning: ignoring file /Users/training/Desktop/iFrameExtractor/ffmpeg/lib/libswscale.a, file was built for archive which is not the architecture being linked (i386) 
Undefined symbols for architecture i386: 
    "_av_register_all", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_av_open_input_file", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_av_find_stream_info", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_avcodec_find_decoder", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_avcodec_open", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_avcodec_alloc_frame", referenced from: 
     -[VideoFrameExtractor initWithVideo:] in VideoFrameExtractor.o 
    "_avpicture_free", referenced from: 
     -[VideoFrameExtractor setupScaler] in VideoFrameExtractor.o 
     -[VideoFrameExtractor dealloc] in VideoFrameExtractor.o 
    "_sws_freeContext", referenced from: 
     -[VideoFrameExtractor setupScaler] in VideoFrameExtractor.o 
     -[VideoFrameExtractor dealloc] in VideoFrameExtractor.o 
    "_avpicture_alloc", referenced from: 
     -[VideoFrameExtractor setupScaler] in VideoFrameExtractor.o 
    "_sws_getContext", referenced from: 
     -[VideoFrameExtractor setupScaler] in VideoFrameExtractor.o 
    "_avformat_seek_file", referenced from: 
     -[VideoFrameExtractor seekTime:] in VideoFrameExtractor.o 
    "_avcodec_flush_buffers", referenced from: 
     -[VideoFrameExtractor seekTime:] in VideoFrameExtractor.o 
    "_av_free", referenced from: 
     -[VideoFrameExtractor dealloc] in VideoFrameExtractor.o 
    "_avcodec_close", referenced from: 
     -[VideoFrameExtractor dealloc] in VideoFrameExtractor.o 
    "_av_close_input_file", referenced from: 
     -[VideoFrameExtractor dealloc] in VideoFrameExtractor.o 
    "_av_read_frame", referenced from: 
     -[VideoFrameExtractor stepFrame] in VideoFrameExtractor.o 
    "_avcodec_decode_video2", referenced from: 
     -[VideoFrameExtractor stepFrame] in VideoFrameExtractor.o 
    "_av_free_packet", referenced from: 
     -[VideoFrameExtractor stepFrame] in VideoFrameExtractor.o 
    "_sws_scale", referenced from: 
     -[VideoFrameExtractor convertFrameToRGB] in VideoFrameExtractor.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

回答

2

由於iPhone應用程序針對ARM架構,你必須重新編譯爲ARM ffmpeg的庫。

在配置ffmpeg版本時,應該使用--arch=arm選項。

+0

我該怎麼做,請告訴我整個過程。我使用xcode4.2.1&mac 10.7.2 ... – Ada 2012-04-04 05:04:58