2

Mac の Xcode で ffmpeg ライブラリを使用しようとしています。Lion や Mountain Lion などの 64 ビット システムに対処したい。でコンパイルしてみました

./configure --enable-static --enable-nonfree --enable-version3 --enable-gpl --disable-doc --disable-programs --arch=x86_64 --cc=cc --disable-yasm --host-cflags="-arch x86_64" --host-ldflags="-arch x86_64" --prefix=ffmpeg

次に、ffmpeg ディレクトリ (lib および include フォルダーを含む) をプロジェクト フォルダーにコピーしました。プロジェクトに .a ファイルを追加し、.a ファイルを「ライブラリとバイナリをリンクする」に追加しました)。また、プロジェクト設定でヘッダーとライブラリフォルダーを調整しました。ここまでは順調ですね。

私はそれらのライブラリの初心者なので、ビデオを開くことから始めました。正常に動作します。

現在、特定の入力ファイルをデコードしようとしています。したがって、このサンプルファイルを見ました: http://ffmpeg.org/doxygen/1.0/decoding__encoding_8c-source.html

video_decode_example 関数をコピーしました。しかし、コンパイル時に次のエラーが発生します。

Undefined symbols for architecture x86_64:
  "_decode_write_frame", referenced from:
    _video_decode_example in cutClass.o
ld: symbol(s) not found for architecture x86_64

ffmpeg のコンパイルで何が間違っていましたか?

4

1 に答える 1

2

decode_write_frame()ffmpeg の一部ではありません — 参照していたサンプル コードの一部です。サンプル コードをよく読んで、独自の同等のコードを実装してください。decoding_encoding.c(サンプルの実装は、ほぼ間違いなく、プロダクション コードに必要なものではありません。すべてのフレームをPGMイメージ ファイルとしてディスクに書き込むだけです。)

于 2013-02-16T22:04:07.947 に答える