0

iPhone アプリケーションで使用するために x264 をコンパイルしようとしています。プラットフォームで使用するために ffmpeg をコンパイルする方法についての説明がここにあります: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.htmlこれで、iPhone で x264 をコンパイルすることができます。このソース ツリーを見つけました: http://gitorious.org/x264-arm ARM プラットフォームをサポートしているようです。

これが私の設定行です:

./configure --cross-prefix=/usr/bin/ --host=arm-apple-darwin10 --extra-cflags="-B /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk /usr/lib/ -I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/"

...そして内部configureでは、ガスプリプロセッサスクリプト (上記の最初のリンク) をアセンブラとして使用しています:

Gas-preprocessor.pl gcc

コンパイルを開始すると、しばらくチャンクが発生し、これらの警告と未定義シンボルの膨大なリストが吐き出されます。

ld: 警告: オプション -s は廃止され、無視されています
ld: 警告: -force_cpusubtype_ALL は ARM アーキテクチャではサポートされなくなります
ld: 警告: /usr/lib/crt1.o で、ファイルに必要なアーキテクチャ アームがありません
ld: 警告: /usr/X11R6/lib/libX11.dylib で、ファイルに必要なアーキテクチャ アームがありません
ld: 警告: /usr/lib/libm.dylib で、必要なアーキテクチャ アームがファイルにありません
ld: 警告: /usr/lib/libpthread.dylib で、必要なアーキテクチャ アームがファイルにありません
ld: 警告: /usr/lib/libgcc_s.1.dylib で、必要なアーキテクチャ アームがファイルにありません
ld: 警告: /usr/lib/libSystem.dylib で、必要なアーキテクチャ アームがファイルにありません
未定義のシンボル:

私の推測では、問題は「ファイルに必要なアーキテクチャアームがありません」という警告に関係していると思います...何かアイデアはありますか?

4

2 に答える 2

1

このサイトを確認してください: http://github.com/gabriel/ffmpeg-iphone-build ファイル: build-x264-armv6

きっと気にいる!

バイ&グッドラック!

于 2010-04-21T17:25:47.893 に答える
1

開発者の多くは、XCode 4.3 への移行後に FFMpeg ソースをコンパイルする際に問題を経験しています。これは主に、以前のリリースとは異なり、XCode4.3 がバンドルとして提供され、最初はコマンドライン ツールが含まれていないという事実によるものです。

ユニバーサル スクリプトの作成を試みました。XCode4.3 とともに FFMpeg を構築するための完全な環境をここからダウンロードできます: https://github.com/melnikov/ffmpeg4iphone_4.3

前提条件:

  1. XCode4.2 または 4.3 が Mac にインストールされている必要があります。
  2. XCode コマンド ライン ツールをインストールする必要があります (XCode -> 設定 -> ダウンロードからインストールできます)。
  3. Mac用のgitをインストールする必要があります。

指示と説明:

  1. ビルド スクリプトをディレクトリ (/tmp/ffbuild など) に配置し、実行可能フラグを設定します (「chmod +x ./build を実行して)」
  2. スクリプトを実行します。それは何をしますか:
  3. FFMpeg の最新バージョンを FFmpeg ディレクトリにチェックアウトします (既に FFmpeg を現在のディレクトリにチェックアウトしている場合は、これを安全にコメントアウトできます)。
  4. Xcode.app の場所を検出しようとし、Xcode がインストールされていない場合は終了します
  5. Xcode.app 内で gcc を見つけようとし、見つからない場合は終了します (これは、Xcode コマンド ツールがインストールされていない場合に発生する可能性があります)。
  6. 上記の手順がスムーズに実行された場合、スクリプトは
  7. build_results フォルダーを作成する
  8. その後、3 つの異なるアーキテクチャ (armv6、armv7、i386) に対して FFmpeg configure と make を実行し、それらを build_results フォルダー内のそれぞれのディレクトリに配置します。
  9. lipo を実行し、ユニバーサル ライブラリを作成します (そしてそれらを build_results/Universal フォルダー内に配置します)。

ところで、私は同僚の多くの Mac でスクリプトをテストしましたが、そのうちのいくつかは、Xcode.app の mdfind で結果を返さない傾向があります。そのため、スクリプトが「Xcode is not installed」を返す場合は、XCODEPATH 変数を Xcode.app へのパスに自由に設定してください。

于 2012-07-04T11:39:32.083 に答える