原 win10 msys2 vs2015 ffmpeg3.2.2 编译
01 环境
win10x64企业版。vs2015update3企业版。git(git version 2.10.0.windows.1)。
02 下载ffmpeg代码
git clone https://git.ffmpeg.org/ffmpeg.git
git tag #目前最新稳定版本3.2.2
git checkout -b release3.2.2 n3.2.2
- 1
- 2
- 3
03 下载msys2
http://msys2.github.io
msys2-x86_64-20161025.exe
03.01 msys2-x86_64-20161025.exe
http://msys2.github.io. 选择第二个:msys2-x86_64-20161025.exe
下载后,安装默认安装到C:/msys64。
msys2-x86_64-20161025.exe的下载可能比较慢,中途可能断掉,建议使用firefox下载,或者使用支持断点续传的工具下载。
03.02 安装编译程序
安装后,到msys2窗口执行,安装编译程序:
pacman -S make gcc diffutils pkg-config
# 可能需要多尝试几次,我安装的时候gcc更新了几次才成功,这个更新过程支持断点续传。
# 如果不按照pkg-config,运行./configure的时候,会出现如下warning
# WARNING: pkg-config not found, library detection may fail.
- 1
- 2
- 3
- 4
03.03 重命名link.exe
重命名C:/msys64/usr/bin/link.exe 为C:/msys64/usr/bin/link.bak, 避免和MSVC 的link.exe抵触。
03.04 下载YASM
YASM下载地址:http://yasm.tortall.net/Download.html,下载其64位版本Win64 .exe (64 位 Windows 通用)。
下载后,将下载回来的yasm-1.3.0-win64.exe 改名为yasm.exe,并放置于 MSYS2 安装目录中。就是放置到c:/msys64/usr/bin/ 中。
04 配置msys2
04.01 编辑C:/msys64/msys2_shell.cmd,
将其中的:
rem set MSYS2_PATH_TYPE=inherit
“rem”注释删除掉,成为:
set MSYS2_PATH_TYPE=inherit
- 1
- 2
- 3
- 4
04.02 打开vs2015关联的msys2窗口
在命令提示符窗口输入:
# 切换到c:/msys64目录
cd c:/msys64
# 切换vs2015 64位环境
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
#打开msys2的mingw64窗口
msys2_shell.cmd -mingw64
- 1
- 2
- 3
- 4
- 5
- 6
04.03 检查工具组件
which cl link yasm cpp
#显示如下内容
/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl
/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/link
/usr/bin/yasm
/usr/bin/cpp
- 1
- 2
- 3
- 4
- 5
- 6
04.04 修改msys2窗口代码页为GBK,避免编译时显示乱码。
在窗口上右击鼠标,选择[Options]菜单,选择[Text],locale选择:zh_CN,Character set 选择 GBK。
05 编译ffmpeg
#在msys2窗口:
cd d:/git/ffmpeg
#进入下载ffmpeg目录中
./configure --toolchain=msvc --arch=x86 --enable-yasm --enable-asm --enable-shared --disable-static
- 1
- 2
- 3
- 4
如有:WARNING: pkg-config not found, library detection may fail.
#安装pkg-config
pacman -S pkg-config
- 1
- 2
- 3
# make 过程会有很多waring提示,不需理会
make
make install
- 1
- 2
- 3
这样以后,编译生产的执行文件ffmpeg.exe和DLL文件在目录C:/msys64/usr/local/bin中,开发头文件在C:/msys64/usr/local/include中。
06 编译ffplay.exe
01 更新msys64
# 更新mingw-w64-x86_64-toolchain工具链
pacman -S mingw-w64-x86_64-toolchain
- 1
- 2
02 下载SDL和X264
下载SDL2-2.0.5.tar.gz版本,并编译
http://www.libsdl.org/download-2.0.php
http://www.libsdl.org/release/SDL2-2.0.5.tar.gz
tar -zxvf SDL2-2.0.5.tar.gz
cd SDL2-2.0.5
./configure --prefix=/d/git/ffmpeg/build
make
make install
- 1
- 2
- 3
- 4
- 5
下载x264,并编译
git clone http://git.videolan.org/git/x264.git
git checkout -b stable remotes/origin/stable
./configure --prefix=/d/git/ffmpeg/build --host=x86_64-w64-mingw32 --enable-shared
make
make install
- 1
- 2
- 3
- 4
- 5
编译带ffplay.exe的ffmpeg
export PKG_CONFIG_PATH=/d/git/ffmpeg/build/lib/pkgconfig/
# 如果不正确设置PKG_CONFIG_PATH环境变量,带ffplay的ffmpeg ./configure 时,会出现Warning
# WARNING: using libx264 without pkg-config
./configure --prefix=/d/git/ffmpeg/build --enable-libx264 --enable-shared --enable-static --arch=x86 --extra-cflags='-I/d/git/ffmpeg/build/include -I/d/git/ffmpeg/build/include/SDL' --extra-ldflags='-L/d/git/ffmpeg/build/lib' --enable-yasm --enable-asm --enable-version3 --enable-gpl --enable-memalign-hack --enable-ffplay
make
make install
原 win10 msys2 vs2015 ffmpeg3.2.2 编译的更多相关文章
- VS2015下如何用编译、调试程序。
VS2015下如何用编译.调试程序. (通过实践给出截图) 安装步骤: 下载安装网址[VS2015下载地址](http://www.ithome.com/html/win10/164028.htm) ...
- win10下vs2015配置Opencv3.1.0过程详解
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- Python3.7源码在windows(VS2015)下的编译和安装
Python3.7源码在windows(VS2015)下的编译和安装 下载官方源码,使用vs2015(WIN10SDK),最python3.7.0的源码进行编译,编译出不同的版本(release,de ...
- win10下vs2015配置Opencv3.1.0过程详解(转)
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- <Win10开发>UWP使用.Net Native编译时遇到的一些问题。
最近开始尝试把WP8.1 Runtime的项目升级成Win10 UWP,我用的方法没什么技巧性,就是直接复制文件和代码到新建的UWP项目.结果是后台代码未经修改,全部正常运行.但是UI控件的布局有些偏 ...
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- win10下VS2015局域网调试配置
一.前言 换win10页挺久了一直没有使用 IISExpress 的局域网功能,今天一使用才发现 win10 比起 win7 下配置多了许多坑. 二.配置步骤 首先我们先来拿到本机 ip 地址 打开命 ...
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用
一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符 ...
随机推荐
- 【51nod-1278】相离的圆(二分)
思路 做法就是先把圆的直径化成线段,然后将线段的起点从小到大排序,以第i条线段为例,找i+1~n条中这样一条线段,满足是第一条且起点比第i条的终点要大(即满足相离),那么包括这条线段之后的线段也满足和 ...
- Poj 3318 Matrix Multiplication( 矩阵压缩)
Matrix Multiplication Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 18928 Accepted: ...
- RabbitMQ(6) 集群部署
单节点部署 rabbitmq单节点部署比较简单,可以使用apt-get等工具快速安装部署. wget -O- https://www.rabbitmq.com/rabbitmq-release-sig ...
- qml自定义带文字的button tabbutton
https://blog.csdn.net/u014416260/article/details/54579480
- set类型以及其操作
sets类型 sets类型以及操作Set是无序集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是0(1).对集合我们可以取并集.交集.差集.通过 ...
- IGMP技术总结
转载自:IGMP技术总结 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢迎广大朋友指正! 1. IGMP ...
- New Concept English Two 33 94
$课文92 自找麻烦 1016. It must have been about two in the morning when I returned home. 我回到家时,肯定已是凌晨两点左右了 ...
- three.js入门系列之旋转的圆台、球体、正方体
先来张图: 一.调整机位和辅助线 由上述代码可知,现在的机位是三维坐标轴上的点(2,2,2),方框的那一句很重要,有了这一句,你将获得上帝视角!!! 接下来添加辅助线(立体空间三轴): 这样就添加了一 ...
- CUDA Samples: Calculate Histogram(atomicAdd)
以下CUDA sample是分别用C++和CUDA实现的计算一维直方图,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第九章,各个文件内容如下 ...
- 十图详解TensorFlow数据读取机制(附代码)
在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下 ...