問題がある。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つの質問があります。
Visual Studioアプリケーションをlibavcodec.aにリンクする方法は?
可能であれば、ffmpegの最新バージョンを含むビジュアルスタジオソリューションはどこで入手できますか?
前もって感謝します!!