8

ffmpeg のいくつかの機能を使用しようとしていますが、回復力のあるリンカー エラーが発生しています。これが私がしたことです:

  • http://ffmpeg.zeranoe.com/builds/ (つまり、ffmpeg-20130418-git-ee94362-win32-dev)から最新の 32 ビット「Dev」ビルドをダウンロードしました。
  • Visual Studio 2012 Premium で "General - empty" C++ プロジェクトを作成しました
  • [ffmpeg]/lib フォルダーを Linker -> Input -> "Additional Library Directories" に追加しました
  • 「swscale.lib;avutil.lib;avformat.lib;avdevice.lib;avcodec.lib;」を追加 リンカへ -> 入力 -> 「追加の依存関係」
  • C++ -> 一般 -> 追加のインクルード ディレクトリの下に以下を追加しました。
    • [ffmpeg]/含める
    • [ffmpeg]/include/libswscale
    • [ffmpeg]/include/libavformat

これは私のmain.cppです:

#include "avformat.h"

int main()
{
    av_register_all();
} 

これは次の場合に失敗します。

エラー LNK2019: 未解決の外部シンボル "void __cdecl av_register_all(void)" (?av_register_all@@YAXXZ) が関数 _main で参照されています

このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

37

#includeC++ を使用しているため、ffmpegステートメントをextern "C"次のように囲む必要があります。

extern "C"
{
    #include "avformat.h"
}
于 2013-04-22T15:00:15.403 に答える