作者sinread (電腦真耗錢)
看板MacDev
標題[問題] ffmpeg + iphone
時間Tue Oct 26 12:30:36 2010
大家好,
小弟最近想要用ffmpeg 在iPhone上解H264的frame,
compile上沒有問題, 但是要放上iPhone run的時候, debugger會出現:
dyld: Library not loaded: /usr/local/lib/libavcodec.dylib
Referenced from: /var/mobile/Applications/66E93E8A-AA25-4D9A-B69F-F4F040D84E17/xxxx.app/xxxx
Reason: image not found
奇怪就奇怪在, 為什麼是dyld... 小弟明明就是用static lib...
以下是有關小弟的ffmp的compile資訊
1. ffmpeg目錄放在iPhone xxxx project目錄下的ffmpeg
2. configure如下: (為方便閱讀, 每個參數斷一行)
./configure
--enable-gpl
--enable-pthreads
--disable-encoders
--disable-decoders
--enable-decoder=h264
--disable-parsers
--enable-parser=h264
--disable-protocols
--enable-zlib
--disable-muxers
--disable-demuxers
--disable-yasm
--enable-shared
--disable-doc
--disable-ffmpeg
--disable-ffplay
--disable-ffserver
--disable-amd3dnow
--disable-amd3dnowext
--disable-mmx
--disable-mmx2
--disable-sse
--disable-ssse3
--disable-neon
--disable-vis
--enable-cross-compile
--arch=arm
--target-os=darwin
--cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
--as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc'
--sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk
--cpu=cortex-a8
--extra-cflags='-arch armv7'
--extra-ldflags='-arch armv7'
--enable-pic
以上設定關於系統的部份是參考:
http://tinyurl.com/yyptqgd
build完後會將 lib*.a copy到 xxxx/ffmpeg/lib/
3. project target 內的Build設定 (最後放在device上是用armv7)
Architectures: Standar(armv6 armv7)
Base SDK: iOS Device4.1
Build Active Architecture Only: 沒打勾
Valid Architectures: armv6 armv7
Header Search Paths: ./ffmpeg
Library Search Paths:
$(inherited)
"$(SRCROOT)"
"$(SRCROOT)/ffmpeg"
"$(SRCROOT)/ffmpeg/libavcodec"
"$(SRCROOT)/ffmpeg/libavdevice"
"$(SRCROOT)/ffmpeg/libavformat"
"$(SRCROOT)/ffmpeg/libavutil"
"$(SRCROOT)/ffmpeg/libswscale"
"$(SRCROOT)/ffmpeg/lib"
以上, 麻煩各位高手指點~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.219.26.209
→ zonble:照說你選了 arm6 與 arm7 的 universal binary 10/26 23:57
→ zonble:但是 ffmpeg 卻只有編 armv7 10/26 23:57
→ zonble:Linker 卻讓你過,看來似乎沒有 static link 進去耶 10/26 23:57
→ sinread:所以說armv6也要編, 現在看起來就是static lib沒作用... 10/27 08:53
→ sinread:怎麼樣run他都會去找dylib... 10/27 14:19
→ timTan:ffmpeg is GPL v2 03/19 15:14
→ timTan:you need to open your source code 03/19 15:14
→ timTan:use it carefully 03/19 15:15