用VS2013編譯FFMPEG232

如果只是拿來使用,網上有現成的SDK。但我是想深入研究FFMPEG代碼,又不熟悉linux開發環境,因此需要編譯一個在windos平台下能用VS單步調試的FFMPEG,網上現有資料大部分都是基于很老的版本,不斷摸索,終于成功了。

之所以選擇VS2013,是因爲VS2013支持大部分C99的特性,不需要改動代碼,也不需要使用C99轉C89的工具。

MinGW和yasm是繞不過去的,因爲需要使用MinGW來生成config.h,而ffmpeg的彙編語法和VS的不一樣,因此需要yasm。


具體步驟:

1. 下載FFMPEG源碼,下載地址:http://ffmpeg.zeranoe.com/builds/;

2. 下載MinGW安裝器,下載地址:http://www.mingw.org/;下載完成後安裝,安裝完成後點運行,標記上以下幾項:

用VS2013編譯FFMPEG232

然後在Installation菜單下點擊Apply Changes(mingw32-gcc-g++不用選擇);

3. 下載yasm,下載地址: http://yasm.tortall.net/ ;下載後改名爲yasm.exe,複制到C:/MinGW/msys/1.0/bin目錄下;

4. 配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off之後)添加一行如下內容:

call "D:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" (依實際安裝路徑修改路徑);

5.重命名 C:/MinGW/msys/1.0/bin/link.exe 爲link_renamed.exe (依實際安裝選擇路徑),這一步是防止這個link.exe與vc的link.exe發生沖突,編譯完成後可修改回來;

6. 配置編譯,雙擊msys.bat,轉到FFMPEG源代碼根目錄下,可運行 ./configure --help查看編譯配置選項,我使用的選項爲:

靜態庫:./configure --enable-static --prefix=./vs2013_build --enable-debug --toolchain=msvc 
動態庫:./configure --enable-shared --prefix=./vs2013_build --enable-debug --toolchain=msvc

等待配置完成返回;

7. 輸入 make all 編譯;

8. 輸入make install安裝。

完成,此時生成的頭文件及庫已經在ffmpeg源代碼下的vs2013_build目錄下,使用這個庫,即可在VS下單步進入FFMPEG函數內部。

參考資料:

http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows

http://www.cnblogs.com/xylc/p/3683203.html

更多相關文章
  • Windows7上使用VS2013編譯Caffe源碼(不帶GPU支持)步驟
    1.      從https://github.com/BVLC/caffe/通過git clone下載caffe源碼,master分支,版本號爲09868ac:$ git  clone https://github.com/BVLC/caffe.git :2.      先使用cmake-gui構 ...
  • 一.官方網站下載源代碼,解壓後得到scintilla和powereditor文件夾.二.安裝vs2013.直接打開powereditor\visual.net\notepadplus.vcxproj.三.執行操作:生成->重新生成解決方案.1.遇到 警告被視爲錯誤的問題,解決方法是右鍵屬性配置 ...
  • vs2013 編譯 x64 qt4.8.6
    vs2013 直接qt4.8.6 x6位平台 的話 ,會有問題,需要一個patch文件patch 鏈接: http://download.csdn.net/detail/zhuyingqingfen/9048057如下圖:可以手動把首行前面有減號的地方換成對應前面有加號的即可(或者patch -p0 ...
  • windows7下cygwin+vs2013編譯webkit源碼
    先下載源碼和其他依賴,然後准備cygwin的環境,安裝vs2013,最後編譯即可.網上沒有能直接用于最新版本源碼編譯的教程,所以我在編譯過程中也遇到了很多坑.回過頭來看,這些坑都是可以避免的,想要自己嘗試編譯的同學,可以根據本文快速的實現自己編譯webkit(~除去下載文件的時間,15分鍾准備環境, ...
  • 編譯curl-ssl版本碰到很多坑,這裏記錄一下.親手測試,注意版本號!!!!!1.下載  curl-7.43.0  libssh2-1.3.0  openssl-1.0.0s   ActivePerl5   zlib  nasm2.  編譯openssl,在編譯的時候可以參考這邊文章http:// ...
  • 1.      從https://github.com/chyh1990/caffe-compact下載caffe-compact代碼:2.      通過CMake(cmake-gui)生成vs2013 x64 caffe工程:3.      從https://github.com/google/ ...
  • c++ 的代碼包含頭文件和實現文件兩部分, 頭文件一般是提供給別人(也叫客戶)使用的, 但是一旦頭文件發生改變,不管多小的變化,所有引用他的文件就必須重新編譯,編譯就要花時間,假如你做的工程比較大(比如二次封裝chrome這類的開發),重新編譯一次的時間就會浪費上班的大部分時間,這樣幹了一天挺累的, ...
  •    本文將介紹如何在Windows 7平台搭建Cocos2d-x VS2013和Android開發環境.操作要求一台搭載Windows 7平台及安裝Visual Studio 2012/2013的電腦.最好擁有快速穩定的網路,因爲在操作中需要下載許多軟件包.另外,最好電腦很好些,要不,編譯會非常耗 ...
一周排行
  • * address - 地址 * blockquote - 塊引用 * center - 舉中對齊塊 * dir - 目錄列表 * div - 常用塊級容易,也是css layout的主要標簽 * dl - 定義列表 ...
  • 1.框架 1.1全局樣式 使用HTML5的doctype,scaffolding.less中定義全局樣式,從2開始使用normalize.css,並使用reset.less進行簡化 1.2默認柵格系統 940px寬1 ...
  • append(content)函數:向每個匹配的元素內部追加內容. 如以下示例: 向所有段落中追加一些HTML標記. HTML 代碼: <p>I would like to say: </p> ...
  • tomcat+nginx反向代理實現一個伺服器,一個ip共用80端口
    一.下載nginx.我使用的版本是1.7.2以下是官方網站的下載地址:http://ngi ...
  • 轉移到博客: http://zoeyyoung.github.io/sound-manager-2-web-im.html
  • 上線腳本 #!/bin/bash FWDIR="$(cd `dirname "${BASH_SOURCE-$0}"`; pwd)" bin=`dirname "$0& ...
  •   由此我們可以估計,黃霑是很注意迎合大眾,但又不甘心放棄追求藝術的完美,於是,他的創作取向常遊移於這兩極之間,連藝術觀也是如此.記得,中大這本<學文>第七期出版後,黃霑在其<明報>的小框框「 ...
  •                                       Solaris 11安裝後需要處理的幾個重要方面                                               ...
  • echEd 2012--微軟亞太地區頂級規模的技術盛會.煥然革新的Windows 8, 雲領創新的Windows Server 2012,開發求新的Visual Studio 2012,高效全新的Office, 完美 ...
  •       Android用ListView載入數據,若數據量大.一次性載入會出現卡頓現象,所以分批次載入有利于用戶體驗.//聲明所需要的兩個變量.第一個是滑動過程中及時的最後一項數據的索引值:第二項是當前限制載入的 ...