再次尝试windows下msys+MinGW编译ffmpeg
电脑上安装太多的开源库,环境变量里面一些常用的头文件都有几种,以前使用的编译ffmpeg的方法现在常常提示错误。从config.log中看,这些错误往往都是一些头文件引用错误导致。
由于项目中继续编译自己的ffmpeg,本次从零开始,搭建msys+mingw的编译环境。
参考网友资源,特此表示感谢。 http://blog.csdn.net/chen_chun_guang/article/details/7023638
首先说明本次实验环境:windows xp安装虚拟机vmware 8.0,在虚拟机里安装了一个windows xp,除了UltraEdit用于查看文档,不安装多余的软件。
1. 下载需要的资源,做好准备工作。
1) MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/ mingw-msys-0.6-x86.zip 2012-08-21
2) SDL http://www.libsdl.org/ 1.2.15
3) yasm http://yasm.tortall.net/ 1.2.0
4) FFmpeg http://www.ffmpeg.org/ 1.2.1
5) pthreadgc2.dll http://www.dll-files.com 2.9.0.0 百度google一堆
2. 安装MinGW-MSYS Bundle.
下载来的mingw-msys-0.6-x86.zip,大约100MB多点。解压后直接双击。默认路径安装。
会在C盘占用三个文件夹。C:/MinGW、 C:/msys和 C:\Program Files\MinGW-MSYS ,桌面生成一个快捷方式MinGW-MSYS可以直接启动命令行。以下所有操作都是从这里进入命令行。
这和我以前使用mingw-get-inst-20120426.exe在线安装的方法默认路径不一样,而且也不需要联网下载。
3. 编译安装SDL
没有SDL支持,就没法使用ffplay.exe播放。
本次试验使用建立工作目录C:\msys\1.0\ffmpeg\SDL-1.2.15,将SDL源码解压到SDL-1.2.15。
进入SDL目录,编译命令很简单。
$ ./configure --prefix=/usr/local/SDL
$ make
$ make install
完成SDL的安装。
通过下面命令导入SDL环境变量.
$ export PATH="$PATH:/usr/local/SDL/bin:/usr/local/SDL/include/SDL:/usr/local/lib"
是否成功,可以使用命令查看
$ echo $PATH
4. 编译安装yasm
将下载的yasm-1.2.0.tar.gz,解压到C:\msys\1.0\ffmpeg\yasm-1.2.0
进入yasm目录,分别执行命令:
$ ./configure --prefix=/usr/local/yasm
$ make
$ make install
并通过下面命令导入yasm环境变量。
$ export PATH="$PATH:/usr/local/yasm/bin"
5. 编译ffmpeg
将下载的ffmpeg-1.2.1.tar.bz2,解压到C:\msys\1.0\ffmpeg\ffmpeg-1.2.1
进入ffmpeg-1.2.1目录,分别执行命令:
$ ./configure --enable-shared --disable-static --enable-memalign-hack
$ make
$ make install
本次忘记指定安装路径了,就生成在默认路径下/usr/local,编译选项没有disable一些选项,编译时间有点长。
下面多出来四个文件夹bin lib include share,对应ffmpeg的编译结果。
6. 使用ffmpeg.exe如果提示缺少pthreadgc2.dll,就把下载来的pthreadgc2.dll放到这个bin文件夹。
下面来看看编译结果。
再次尝试windows下msys+MinGW编译ffmpeg的更多相关文章
- 在Windows下利用MinGW编译FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- windows下用vs2010编译ffmpeg
转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- Windows下使用MINGW编译ffplay
之前考虑到需要快速配置编译ffplay,使用了比较暴力的方法,具体可以参考编译ffplay.exe简化版. 这里介绍下相对规范的做法. 前提:已经安装了Windows下GCC开发环境--MINGW+m ...
- Windows 系统 vs2012 MinGW 编译ffmpeg 静态库
Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用. 准备工作:安装MinGW环境,修改ffmpeg配 ...
- windows下使用mingw编译出ffplay(简化版)
之前编译FFmpeg直接使用dll.lib,默认的mingw也不会编译出ffplay.exe. 近期由于工作需要,需要验证下修改之后的FFmpeg版本是否正常,需要使用ffplay.exe. 比较暴力 ...
- Windows下用Mingw编译Boost.Regex库
下载Boost库,解压. 定位到regex库文件夹下. GCC所对应的MAKEFILE为gcc.mak 进入命令提示符下,输入make -f gcc.mak 这是如果直接按回车执行的话,会出现错误: ...
- windows下用mingw编译linux项目
1.下载安装mingw32 2.将mingw下bin和msys\1.0下bin设置为系统path 3.启动msys.bat 4.cd到项目目录 5.输入./configure 6.输入make 7.输 ...
- windows下使用mingw编译python扩展模块
环境: 1.python2.7.2 2.mingw20120426 说明: PYTHON_HOME:不做特殊说明的话,默认代表python的安装路径. MINGW_HOME:不做特殊说明的话,默认代表 ...
随机推荐
- Entity Framework 分页处理
在SQL中进行分页,网上已经有很多例子了,在这里我使用Linq to SQL让C#来生成分页代码,首先创建分页的扩展方法: public static class Extensions { /// & ...
- code first迁移和部署
从"工具"菜单中,选择"NuGet 包管理器" > "包管理器控制台". 在PM>提示符处输入以下命令: enable-migr ...
- HBase高可用原理与实践
前言 前段时间有套线上HBase出了点小问题,导致该套HBase集群服务停止了2个小时,从而造成使用该套HBase作为数据存储的应用也出现了服务异常.在排查问题之余,我们不禁也在思考,以后再出现类似的 ...
- linux系统elementray os的环境搭建
因为我在使用过程中为了改变终端的外表,结果把/ect/psswd,以及/ect/profile中的文件配置修改之后,我把gnome-terminal的python脚本打包放在/bin/目录下,修改了/ ...
- Kotlin VS Java:基本语法差异
Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长. 每个人都在谈论它,并说它很酷. 但为什么这么特别? 我们准备了一系列文章,分享我们在Kotlin开发Android应用 ...
- 我的省选 Day -9
Day -9 不知不觉,日子已经变成一位数了,已经到了最后关头了. 早上班主任在上数学课时告诉我们,高校自招的降分政策已经没有以前那么优惠了(这我知道啊) 于是老师间接的暗示了奥赛如果没拿到省一就没什 ...
- 线程池、Lambda表达式
线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 线程池.Lambda表达式 (正 ...
- 模型事件注意点,before_delete、after_delete、before_write、after_write、before_update、after_update、before_insert、after_insert
模型类支持before_delete.after_delete.before_write.after_write.before_update.after_update.before_insert.af ...
- P1067 多项式输出(模拟水题)
题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_ix^iaixi称为ii次项,a_iai 称为ii次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: ...
- Jmeter4.0----正则表达式提取器(12)
1.说明 有时候需要将前一个请求返回的数据作为下一个请求的参数时,我们就需要正则表达式提取器.使用正则表达式提取器去提取我们想要的部分再传入后面的请求中. (之前看了一篇不错的博客,可以参考学习 ht ...