再次尝试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:不做特殊说明的话,默认代表 ...
随机推荐
- Sharepoint2013商务智能学习笔记之Performancepoint service 配置(九)
1)配置Performance Service服务 第一步,新建performance service.先在管理中心,系统设置区域点击管理服务器上的服务,确认Performance Service服务 ...
- Java中Object类的公有方法
HashCode();wait();notify();equals();getClass();toString();clone();finalize(); 这里只是简单介绍一下其中的几个函数: Has ...
- PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组.----------------该函数由于被弃用 用show table ...
- springMVC容器加载源码分析
springmvc是一个基于servlet容器的轻量灵活的mvc框架,在它整个请求过程中,为了能够灵活定制各种需求,所以提供了一系列的组件完成整个请求的映射,响应等等处理.这里我们来分析下spring ...
- UIDevice的简易说明
typedef NS_ENUM(NSInteger, UIDeviceOrientation) //设备方向 { UIDeviceOrientationUnknown, UIDeviceOrienta ...
- Pycharm自动部署项目
Pycharm自动部署项目 大家好呀,又有几天不见各位了.断更了几天,给大家说声抱歉.清明节大家都挺忙的,有扫墓祭祖的,也有趁小长假去游玩的. 所以,在节后,更新也会照常进行,继续给大家分享本人的一些 ...
- Java基础笔记(九)—— 流程控制
Java三大流程控制语句:顺序.选择.循环. if结构.if-else结构.多重if.嵌套if. public class Test { public static void main(String[ ...
- web性能优化--缓存
什么是缓存? 缓存(Web缓存)是指代理服务器和客户端本地磁盘保存的资源副本.当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载. 缓存大致可以分为私 ...
- PAT甲级——1100 Mars Numbers (字符串操作、进制转换)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90678474 1100 Mars Numbers (20 分) ...
- 树的计数 Prufer序列+Cayley公式
先安利一发.让我秒懂.. 第一次讲这个是在寒假...然而当时秦神太巨了导致我这个蒟蒻自闭+颓废...早就忘了这个东西了... 结果今天老师留的题中有两道这种的:Luogu P4981 P4430 然后 ...