Last modified 12 years ago Last modified on 12/01/05 10:42:04

libavformat,libavcodecの構築・リンク方法

mist/io/mpeg.hは,ffmpeg.sourceforge.net で公開されている FFmpeg-0.4.8(libavformat,libavcodec)が必要となります.
ここでは,それらのの構築方法とリンク方法を説明します.



linux(g++)の場合

libavformat.a, libavcodec.aをビルドしてリンクする必要があります.

  • ffmpeg.sourceforge.netから,ffmpeg-0.4.8.tar.gz を入手して展開
  • libavformat.a, libavformat.a をビルド
    %cd /hogehoge/ffmpeg-0.4.8
    %./configurre --disable-mmx
    %make
    
  • mist/io/mpeg.h をインクルードしたプログラム(hoge.cpp)をコンパイル
    %g++ -Wall hoge.cpp -I/hogehoge/ffmpeg-0.4.8/libavformat -I/hogehoge/ffmpeg-0.4.8/libavcodec 
     -L/hogehoge/ffmpeg-0.4.8/libavformat -L/hogehoge/ffmpeg-0.4.8/libavcodec -lavformat -lavcodec -lz
    

リンクの順番(-lavformat -lavcodec )は重要なので注意して下さい.



windows(VS.NET2003)の場合

avformat.dll, avcodec.dll をビルドして実行ファイルと一緒に持ち歩く必要があります.
また,それぞれのインポートライブラリavformat.lib, avcodec.libをビルドして,実行ファイル生成時にリンクする必要があります.

これらのビルドは,MSYSというクロスコンパイル環境で行う必要があります.
MISTスタッフが用意したビルド済みのDLLが入手可能です.
自分でビルドしたい方はこちらを参照して下さい.

以下,環境設定(リンク)の方法を説明します.

  • プロジェクトのプロパティの設定をする
    • プロパティ → C/C++ → 追加のインクルードディレクトリ:hogehoge/ffmpeg-0.4.8/libavcodec, hogehoge/ffmpeg-0.4.8/libavformat
    • プロパティ → リンカ → 全般 → 追加のライブラリディレクトリ:hogehoge/ffmpeg-0.4.8/libavcodec, hogehoge/ffmpeg-0.4.8/libavformat
    • プロパティ → リンカ → 入力 → 追加の依存ファイル:avcodec.lib, avformat.lib
  • avcodec.dll, avformat.dll を .vcproj ファイルと同じディレクトリにコピーする

avformat.dll, avcodec.dll は実行ファイルと一緒に持ち歩く(あるいは,パスの通ったことろに置いておく)必要があるので注意して下さい.