音视频开发4-补充 FFmpeg 开发环境搭建 -- 在windows 上重新build ffmpeg

本节的目的是在windows 上 编译 ffmpeg 源码,这样做的目的是:在工作中可以根据工作的实际内容裁剪 ffmpeg,或者改动 ffmpeg 的源码。

第一步 :下载, 安装,配置 ,运行 msys64

下载 

下载地址: https://www.msys2.org/
MSYS2 (Minimal SYStem 2)是⼀个MSYS的独⽴改写版本,主要⽤于 shell 命令⾏开发环境。同时它也 是⼀个在Cygwin(POSIX 兼容性层) 和 MinGW-w64(从"MinGW-⽣成")基础上产⽣的,追求更好的互操 作性的 Windows 软件。
MSYS2 是MSYS的⼀个升级版,准确的说是集成了panman和Mingw-64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 ⼯具链。与MSYS最⼤的区别是移植了Arch linux的软件包管理系统Pacman(其实是与Cygwin的区别)。

安装 配置

1. 下载安装MSYS2(按照官⽹安装到⾃⼰指定的⽬录下,本⼈安装于C:/msys64new)
2. 安装完成之后,先把安装⽬录下的msys2_shell.cmd中注释掉的
rem set MSYS2_PATH_TYPE=inherit 改成 set MSYS2_PATH_TYPE=inherit ,这是为了将vs的环境继 承给MSYS2。
本节测试中安装在 C:\msys64new

MSYS2可以选择msys或者MinGW-w64环境来编译,不过在msys下使⽤gcc编译出来的exe和dll依赖 msys-2.0.dll,⽽MinGW-w64下编译出来的⽂件不需要依赖这个dll,从程序的运⾏效率来看,不依赖这 个dll的程序的效率应该更⾼。所以选择MinGW-w64来编译更佳。

配置-修改pacman的源 - 在最新的msys64中已经不用改动,改动后反而有错误

pacman是⼀个软件包管理器,⽤来在MSYS2中安装软件,但是默认的国外的源下载安装包时⾮常缓慢, ⼤概只有⼗⼏⼆⼗KB的速度,⽽且还容易下载中断出错,所以需要修改为国内源,国内源可以选择中科⼤ 的源。
按照MSYS2镜像提示修改。具体如下:
编辑 /etc/pacman.d/mirrorlist.mingw32 ,在⽂件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

编辑 /etc/pacman.d/mirrorlist.mingw64 ,在⽂件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
编辑 /etc/pacman.d/mirrorlist.msys ,在⽂件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/

运行 msys2_shell.cmd -mingw64

1. 启动命令⾏窗⼝,在窗⼝中输⼊:

在cmd模式下 进⼊msys2安装⽬录


cd c:\msys64
#如果要打开msys2的mingw64窗⼝
msys2_shell.cmd -mingw64
#如果要打开msys2的msys窗⼝
#msys2_shell.cmd

2. 然后在msys2的shell中执⾏:

pacman -Sy
目的是 : 刷新软件包数据。

二 安装编译环境

gcc编译器、git等
msys2 遇到两类开发环境:
1. MSYS2 ⾃带的开发环境,安装的包叫 msys2-devel
2. MinGW-w64 的安装
17 这两者有什么区别呢?
⼀⾔以蔽之,前者编译出来的可执⾏⽂件,要依赖 MSYS2 提供的动态链接库,⽽后者不需要。下⾯详细
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值