1

FFmpeg と SDL を使用して、Visual Studio 2010 で Windows MFC アプリケーションの構築に取り組んでいます。ただし、MFC プロジェクトをゼロから作成し、FFmpeg 開発ライブラリ (avcodec.lib、avdevice.lib、avformat.lib など) を含めた後、プロジェクトをビルドできません。Zeranoe FFmpegの開発ビルドを使用しています。プロジェクトのプロパティで次のように構成しました。

  1. VC++ ディレクトリを設定 -> ディレクトリをインクルード (FFmpeg の「インクルード」ディレクトリを追加)
  2. VC++ ディレクトリを設定 -> ライブラリ ディレクトリ (FFmpeg の "lib" ディレクトリへ)
  3. リンカーを設定 -> 入力 -> 追加の依存関係 (avcodec.lib などを含めるため)

価値があるのは、FFmpeg の「include\libavutil」インクルードを VC++ ディレクトリ -> インクルード ディレクトリから省略すると、ビルドが成功することです。

以下は、私が受け取った最初のビルド エラーの一部です (長いため、すべては掲載しません)。どんな助けでも大歓迎です。

ClCompile: stdafx.cpp

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(371): error C3861: '_mktime64': identifier not found

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(386): error C3861: '_localtime64_s': identifier not found

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(409): error C3861: '_gmtime64_s': identifier not found

c:\program files\microsoft sdks\windows\v7.0a\include\intsafe.h(144): warning C4005: 'INT8_MIN' : macro redefinition

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxtaskspane.h(279): error C2146: syntax error : missing ';' before identifier 'm_nLastAnimTime'

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxribboncategory.h(282): error C2146: syntax error : missing ';' before identifier 'm_ActiveTime'

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxdockingmanager.h(353): error C2146: syntax error : missing ';' before identifier 'm_clkLastTime'

Build FAILED.

これらの記事の両方を参照しましたが、役に立ちました。

4

2 に答える 2

4

あなたがしたのはこれだと思います。最初の2つのステップを実行したとき

  1. VC ++ディレクトリを設定->ディレクトリを含める(FFmpegの「include」ディレクトリを追加)
  2. VC ++ディレクトリ->ライブラリディレクトリを(FFmpeg "lib"ディレクトリに)設定します

MFCおよびATLパスの前に、リストの一番上にそれらを含めました。上/下ボタンを使用して、リストの一番下に移動してください。これで問題が解決するはずです

于 2013-01-11T04:50:47.583 に答える
1

Use FFmpeg in Visual Studioをご覧ください。Zeranoeバイナリに対してビルドする小さな Visual Studio 2010 プロジェクトへのリンクがあります。

inttypes.hビルドを成功させるにはファイルが必要であることに注意してください。

ログに の問題が表示されます。stdafx.cppこれは、検索パスの設定が間違っているか、 に何か問題があることを意味しますstdafx.h。FFmpeg ディレクトリを検索リストの一番上に置くとうまくいくかもしれませんが、MFC 部分のビルドがうまくいかない可能性があります。リストの一番下に配置したいのですが、コード自体には明示的な#includes の正しい順序が必要です。

于 2013-01-11T08:29:55.397 に答える