簡體   English   中英

為iOS6.0 ARMv7處理器構建FFMPEG庫

[英]Building FFMPEG library for iOS6.0 ARMv7 Processor

警告:

我剛剛被其他用戶告知,有一些法律問題圍繞着使用FFMPEG for iOS,請點擊這里鏈接http://multinc.com/2009/08/24/compatibility-between-the-iphone-app-store-和最LGPL /

當我第一次感到慌亂的時候,我寫了一下這個問題。 現在我可以在休息一下后更清楚。

編輯:了解到你必須為ARMv7,ARMv7s和iOS6.0構建

我正在嘗試在XCode 4.5.1項目中使用FFMPEG庫。 我正在嘗試為ARMv7構建它。 我正在尋找的是確切的過程和一些解釋。 我知道這不是一個記錄良好的問題。 但我知道其他人和我有同樣的問題。

我能做什么。

我已經能夠構建用於測試的庫。

1)我已經能夠克隆ffmpeg。 對於初學者,這將通過使用ffmpeg源創建目錄來開始。 (感謝寫這篇文章的人)

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

2)我已經能夠編寫一個沒有任何錯誤的配置文件。 我們稍后會回到這一部分。 這是我附加到./configure的命令

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc = / Applications / Xcode 。應用程序/內容/開發/平台/ iPhoneOS.platform /開發人員的/ usr / LLVM-GCC-4.2 /斌/ ARM-蘋果darwin10-LLVM-GCC-4.2

--as ='gas-preprocessor / gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm -GCC-4.2'

--sysroot = /應用/ xcode.app /內容/開發商/平台/ iPhoneOS.platform /開發商/軟件開發工具包/ iPhoneOS6.0.sdk

--cpu = cortex-a8 --extra-ldflags =' - arch = armv7 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk'--enable -pic --disable-bzlib --disable-gpl --disable-shared --enable-static --disable-mmx --disable-debug --disable-neon --extra-cflags =' - pipe -Os -gdwarf -2 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -m $ {thumb_opt:-no-thumb} -mthumb-interwork'

這些是需要注意的事項。

  • 我必須下載( https://github.com/yuvi/gas-preprocessor )將文件gas-preprocessor.pl復制到/ usr / local / bin。 設置讀寫權限(777)
  • 確保我使用正確的GCC編譯器:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc- 4.2
  • 確保我使用正確的SDK:/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
  • --extra-cflags =“ - arch armv7”導致:錯誤:無法識別的命令行選項“-arch”

這就是問題所在。

我可以像這樣包含庫

使用libavcodec /中avcodec.h

但是當我開始編寫編碼器時。 我收到了這個警告,還有無數的錯誤。

忽略文件/Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a,文件是為存檔而構建的,而不是被鏈接的架構(armv7s):/ Users / Jimmy / Development / sources.ffmpeg / Library / libavutil。一種

這意味着我沒有構建正確的二進制文件。

我正在尋找的是之前完成它的人,讓我們所有人都在構建針對iOS6.0和ARMv7的FFMPEG以及大多數需要注意的事項。 萬分感謝。

這是我的工作配置在iOS 6上交叉編譯FFmpeg ,拱門是ARMv7

注意:您必須要有gas-preprocessor.pl里面/usr/local/bin/請不要繼續,直到你有gas-preprocessor.pl你的bin目錄

  • 這里下載FFmpeg 1.0“天使”

  • 解壓縮並將其放在某處,即Desktop文件夾

  • 打開終端並瀏覽到解unzipped FFmpeg folder

  • 復制並粘貼以下命令,( 耐心等待一段時間

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc = / Applications / Xcode .app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / gcc --as ='gas-preprocessor / gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform / Developer / usr / bin / gcc' - sysroot = / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS6.0.sdk --cpu = cortex-a8 --extra- cflags =' - arch armv7'-extra-ldflags =' - arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk'-enable- pic --enable-decoder = rawvideo --disable-asm

  • 現在在終端make上鍵入以下命令( 稍等一會兒

  • 一旦完成,現在鍵入終端sudo make install再次等待

  • 轉到/usr/local/lib找到新近出爐的armv7

  • 請享用!

亞歷克斯


添加了對armv7的支持

這個armv7s配置是完全未經測試的,我真的不知道這是否可行,我沒有iPhone 5所以我們需要有人來測試最終的armv7s庫

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc = / Applications / Xcode .app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / gcc --as ='gas-preprocessor / gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform / Developer / usr / bin / gcc' - sysroot = / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS6.0.sdk --cpu = cortex-a8 --extra- cflags =' - arch armv7s' - extra-ldflags =' - arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk'-enable- pic --enable-decoder = rawvideo --disable-asm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM