windows下編譯FFMPEG

  1. 編譯環境
    • 系統:windows10
    • 編譯器:vs2013
    • 編譯工具禮包:minGw+msys+c99conv.exe+c99wrap.exe+pr.exe+yasm (備註:當minGw中工具下載不完整時,可能缺乏coreutils組件中的pr.exe文件,所以須要下載該執行文 件。)
    • 可能須要的DLL:iconv.dll,intl.dll,libiconv2.dll,libintl3.dll
    • FFMPEG版本:3.2
  2. 下載地址
    • ffmpeg官網:http://ffmpeg.org/
    • ffmpeg git 地址 : git://source.ffmpeg.org/ffmpeg.git (注意:clone代碼以前先在git命令行中設 置!!!:git config --global core.autocrlf false)
    • MinGW : http://www.mingw.org/ ,運行下載的MinGW安裝管理器,包含msys。假設安裝好後 MinGW路徑爲:d:/MinGW ,則msys路徑應爲:d:/MinGW/msys 。將:d:/MinGW/bin和 d:/MinGW/msys/1.0/bin加到系統path環境變量中.
    • yasm:http://yasm.tortall.net/ , 更名叫yasm.exe,複製到:d:/MinGW/msys/1.0/bin 目錄下.
      /**********************************************************************
      若是是vs2013 以上版本 ,則下面兩個(5,6)不須要安裝
      *********************************************************************/
    • c99-to-c89 : https://github.com/libav/c99-to-c89/downloads , 將c99conv.exe和c99wrap.exe複製 到:d:/MinGW/msys/1.0/bin 目錄下.
    • C99頭文件inttypes.h和stdint.h :將此兩個 頭文件複製到: D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include 目錄下(自行修改 爲本身的安裝目錄)
  3. 配置msys.bat
    用記事本打開msys.bat文件,在第一行加入:
    call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
    call對應的目錄爲你的VC安裝程序所在目錄.
  4. 生成配置
    管理員方式運行msys.bat,進入到FFMPEG源碼目錄(若是不是管理員方式,則採用make V=1時不能顯示編譯錯誤詳情)。運行命令:
    ./configure --enable-shared --disable-static --toolchain=msvc --prefix=./vs2013_build耐心等待配置完成.
  5. 編譯安裝
    採用make V=1 -j4 ;這樣能夠知道編譯過程當中具體的錯誤,若是隻用make,出了錯誤,你根本不知道爲什麼出錯,這就是最大的坑,之因此用-j4,就是爲了加速編譯。針對出現的錯誤個人修改成:
    1. config.h編譯條件須要修改成:
      • #define _WIN32
      • #define HAVE_IO_H 1
      • #define HAVE_DIRECT_H 1
    2. common.h中加入
      • #if _MSC_VER
      • #define snprintf _snprintf
      • #endif
    3. gdigrab.c中加入
      • #pragma comment (lib,"User32.lib")
      • #pragma comment (lib,"Gdi32.lib") 最後 執行make install,能夠在vs2013_build目錄下看到編譯好的庫文件和所需頭文件了。
相關文章
相關標籤/搜索