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):
我的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):
指南:如何编译ffmpeg Windows7和VS2012下
首先,让我感谢您发布这个令人难以置信的详细指南。
不幸的是,我遇到一个难题在步骤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,不是很了解,所以我希望这只是一个用户错误的问题。
提前感谢您的帮助。
不幸的是,我遇到一个难题在步骤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下
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代码。
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;