windows下编译ffmpeg

如何编译在Windows7和VS2012 ffmpeg

如何成功编译ffmpeg windows下。
我的latop Windows 7 64位和VS2012但我在32位模式下编译。

步骤1)
mingw下载并安装它(C,c++,MSYS基本系统,mingw开发者工具包)。
minGW shell并输入以下命令运行
"mingw-get安装zlib"
"mingw-get安装libz-dev”

)下载FFMpeg分布和提取,即C:\ FFMpeg \(http://www.ffmpeg.org/releases/)
b)下载c99-to-c89编译器和提取在C:\ ffmpeg \(c99-to-c89-1.0.1。zip从http://download.videolan.org/pub/contri…0.1 / win32 /)
c)下载yasm-1.2.0-win32和提取在c:\ yasm \(或win64 64位版本http://www.tortall.net/projects/yasm/releases/)
d)下载msinttypes和提取一个C:\ ffmpeg \ msinttypes \(https://msinttypes.googlecode.com/files…es-r26.zip)


步骤2)

下打开visual studio 2012开发人员控制台(开始>所有程序> VS12 > VS工具>开发者VS12命令提示符)并导航到c:\ MinGW \ msys \ 1.0 >

步骤3)

msys运行。蝙蝠从这里。

步骤4)

改变你当前的主目录ffmpeg ie”cd C:/ ffmpeg"

步骤5)

重命名mingw链接。exe与链接女士避免冲突。exe与“mv /bin/link.exe /bin/mingw_link.exe”。现在运行的链接。exe女士应该指向链接。
仔细检查命令”这链接“应该回应“/ c /程序文件(x86)/ Microsoft Visual Studio 11.0 / VC / Bin / link.exe”

步骤6)

使用命令“扩展默认路径导出路径= $路径:C:/ ffmpeg"
检查结果,命令”回声路径美元”。它应该报告所有Visual Studio的路径,+ c:\ ffmpeg

步骤7)
输入下面的命令。(a)和(b)需要一些时间才能完成(约5 - 10分钟)
一)”。/ configure——prefix = ffmpeg /——启用共享extra-cflags = - i / c / MinGW /包括——yasmexe = ' c:/ yasm / yasm-1.2.0-win32。exe”——enable-gpl cpu = i686"
b)”使"
c)”制作安装"

步骤8)现在在“C:\ ffmpeg ffmpeg \ lib \”你应该看到一些*。def和*。一个文件。时间转换*。一个标准*女士。lib文件。
改变目录使用命令”cd。\ ffmpeg \ lib"

带着文件列表”ls - l”命令。

每一个*。一个文件你看,使用下面的命令
“lib /机器:i386 / def:<文件名>。def /:<文件名>。自由”即
"lib /机:i386 / def:avcodec-54。def /:avcodec - 54. -自由"

第八步)

你是准备好了。包括你的*。lib库连接程序中输入和额外Dependecies选项,并添加您的项目包括msinttypes(inttypes。h & stdint.h)你从第一步下载。
你也可以设置引用没有(/ OPT:NOREF)链接器优化设置,优化项目属性>链接器> >引用没有(/ OPT NOREF):
sdancer75
 
 

指南:如何编译ffmpeg Windows7和VS2012下

帖子通过Fendayen»清华2013年8月15日,5:04

首先,让我感谢您发布这个令人难以置信的详细指南。

不幸的是,我遇到一个难题在步骤7)),这要求我使用以下命令:
”。/ configure——prefix = ffmpeg /——启用共享extra-cflags = - i / c / MinGW /包括——yasmexe = ' c:/ yasm / yasm-1.2.0-win32。exe”——enable-gpl cpu = i686”

当我使用命令,我得到以下反馈:
承宪:。/配置:没有这样的文件或目录”

当使用命令完全按照你提供的没有工作,我试图改变我所感知的目录(C:/ yasm / yasm-1.2.0-win32.exe)很多次了。我使用你提供的命令,我也把您提供的示例目录里的一切。我的操作系统是Windows 7。我看到的唯一的区别就是我用VS2010 VS2012,但我怀疑会导致一个目录的问题,或者将它吗?

我很新的使用MinGW,不是很了解,所以我希望这只是一个用户错误的问题。
提前感谢您的帮助。

 

指南:如何编译ffmpeg Windows7和VS2012下

帖子
你似乎并不使用MSVC编译器,但gcc,没有”——工具链= MSVC "选择" . / configure "。

所以,随时更新你的向导。谢谢。

指南:如何编译ffmpeg Windows7和VS2012下

Fendayen写道:首先,让我感谢您发布这个令人难以置信的详细指南。

不幸的是,我遇到一个难题在步骤7)),这要求我使用以下命令:
”。/ configure——prefix = ffmpeg /——启用共享extra-cflags = - i / c / MinGW /包括——yasmexe = ' c:/ yasm / yasm-1.2.0-win32。exe”——enable-gpl cpu = i686”

当我使用命令,我得到以下反馈:
承宪:。/配置:没有这样的文件或目录”

当使用命令完全按照你提供的没有工作,我试图改变我所感知的目录(C:/ yasm / yasm-1.2.0-win32.exe)很多次了。我使用你提供的命令,我也把您提供的示例目录里的一切。我的操作系统是Windows 7。我看到的唯一的区别就是我用VS2010 VS2012,但我怀疑会导致一个目录的问题,或者将它吗?

我很新的使用MinGW,不是很了解,所以我希望这只是一个用户错误的问题。
提前感谢您的帮助。


你好,

看来你不是ffmpeg目录下,这就是为什么你得到这样一个错误。

把在ffmpeg目录。一个文件列表”ls - l”你会看到一个文件名为“配置”。它只是一个脚本文件,你也可以用记事本打开它。

确认后您可以看到配置文件,那么你将能够运行脚本。

PS:还记得进入命令行(之前调用mingw)与Visual Studio的命令提示符,可以访问所有Visual Studio工具。

指南:如何编译ffmpeg Windows7多和VS2012下

我已经下载了FFMPEG源代码(c代码)通过下面的链接

http://ffmpeg.zeranoe.com/builds/

之后,我已经完成了配置部分然后我生成链接库文件[avcodec - 54. -自由,avdevice - 54. -自由,avfilter - 3. -自由,avformat - 54. -自由,avutil - 52. -自由,swresample - 0. -自由,swscale - 2. -自由 ]在微软Visual Studio c++创建一个新项目包括所有。c头文件。

参考链接:

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

http://ramu492.blogspot。/ 2013/06 /端口…7-and.html

编译的时候在Visual studio 2010中……我在所有的文件得到超过300错误libavcodec,libavdevice、libavfilter libavformat、libavresample libavutil,libpostproc,libswresample libswscale 就像

ASM错误:

错误C2400:内联汇编程序语法错误在“操作码”,找到“数据类型”
错误C2065:“__asm__”:未申报的标识符
C2143错误:语法错误:缺少“;”之前“波动”

语法错误:

C2143错误:语法错误:缺少“}”之前,“。”
C2143错误:语法错误:缺少“;”“。”
C2059错误:语法错误:“。”
C2143错误:语法错误:缺少“;”之前“}”
C2059错误:语法错误:“}”
C2143错误:语法错误:缺少“;”之前' { '
错误C2447:‘{’:缺失的函数头(老式的正式名单?)
C2059错误:语法错误:','
C2143错误:语法错误:缺少“;”之前' { '
错误C2447:‘{’:缺失的函数头(老式的正式名单?)


请任何人让我知道如何编译成功在vs2010 ffmpeg的c代码。

指南:如何编译ffmpeg Windows7和VS2012下

帖子

JAYANTHI写道:好吧. .如何提到作为MSVC c++格式配置参数列表。请帮我


你跟着我在第一篇文章的说明吗?如果不是,请试一试。

我不坐在我的开发电脑现在,但是如果你有哪些困难明天我可以给你准确的配置参数。

无论如何,你必须使用以下参数在配置构建。

——工具链= msvc




1). / configure——prefix = ffmpeg /——启用共享extra-cflags = - i / c / MinGW /包括——yasmexe = ' c:/ yasm / yasm-1.2.0-win32。exe”——enable-gpl cpu = i686——启用共享工具链= msvc
2)使
3)制作安装


在我的情况下我不使用它,它工作得很好没有这个....


最后你会有*的列表。和*。def文件。在这一点上,你必须创建*。dll和*。lib文件使用捆绑的lib.exe Visual Studio。

语法

lib.exe /机:i386 / def:<文件名>。def /:<文件名> . lib



lib.exe /机:i386 / def:avcodec-54。def /:avcodec - 54. -自由


别忘了之前重命名标准minigw链接。exe与MSVC的link.exe避免冲突。同样重要的命令提示符从Visual Studio工具命令提示符,否则你不会有访问所有其他Visual Studio工具。



PS1:你也可以检查项目lavfilterhttps://code.google.com/p/lavfilters/source/browse/和构建“build_ffmpeg_msvc.sh”。项目的家http://1f0.de/lav-splitter/
PS2:检查的指令https://trac.ffmpeg.org/wiki/CompilationGuide
PS3:如果我仍然有一个问题或许我可以创建一个视频教程。

如何编译ffmpeg Windows7和VS2012下


”。/ configure——prefix = ffmpeg /——启用共享extra-cflags = - i / c / MinGW /包括——yasmexe = ' c:/ yasm / yasm-1.2.0-win32。exe”——enable-gpl cpu = i686——启用共享工具链= msvc”

在我的例子中,它不是工作显示错误,

c99wrap cl无法创建一个可执行文件。
如果c99wrap cl是一个交叉编译器,使用——enable-cross-compile选项。
只有这样做如果你知道交叉编译是什么意思。
C编译器测试失败了。
如何编译ffmpeg Windows7多和VS2012下

第一步安装完mingw的时候要记得设置环境变量,而且要设置在用户变量中,设置在系统变量中无法识别…
控制面板\系统和安全\系统-》高级系统设置——》环境变量——》在用户变量中添加路径变量值为C:\ MinGW \ bin;C:\ MinGW \ msys \ 1.0 \ bin;
 
posted @ 2015-11-24 11:27  雨曦  阅读(516)  评论(0编辑  收藏  举报