2

問題がある。ffmpeg(特にlibavcodec)をVisualStudio2008プロジェクトに静的にリンクする必要があります。

インターネットでいくつかのビジュアルスタジオソリューションを見つけましたが、それらは非常に古く(約0.6バージョン)、最新バージョンが必要なので、この方法は私には選択肢ではありません。

次に、MinGW / msysを使用して静的ビルド(--enable-satic --disable-sharedフラグを使用)を作成し、出力で(* .a)ライブラリを取得しました。Visual Studioで、リンカーのプロパティに移動し、追加の依存関係([リンカー]-> [入力])libvacodec.aとlibgcc.aに追加します。それから私は簡単なアプリケーションを書きました:

#include <stdio.h>
#include <stdlib.h>
extern "C"
{
   #ifdef  __STDC_CONSTANT_MACROS
      #define __STDC_CONSTANT_MACROS
   #endif
      #include "libavcodec/avcodec.h"    
 }



#include "libavformat/avformat.h"

      int main()
   {
    av_register_all();
    return 0;
   }

このコードのコンパイルは成功しましたが、リンクは失敗しました。エラーが発生しました:

error  LNK2019: unresolved external symbol "void __cdecl av_register(void)" (?av_register_all@@YAXXZ) referenced in function _main.

したがって、2つの質問があります。

  1. Visual Studioアプリケーションをlibavcodec.aにリンクする方法は?

  2. 可能であれば、ffmpegの最新バージョンを含むビジュアルスタジオソリューションはどこで入手できますか?

前もって感謝します!!

4

1 に答える 1