下载安装MSYS2
在http://msys2.github.io/ 下载msys2。进入该网址后,可以看到如下页面:
安装过程中,进度会一直卡在中间,无法继续执行,然后“隐藏详细信息”这里显示“Updating trust database”,如下图所示。当遇到这个问题时,只要点击右下方的“取消”按钮,然后重新安装即可。
安装完成后,我们进入安装目录,打开msys2_shell.cmd
在弹出的窗口上右击,选择Options,按照如下设置更改字符集,如下图所示,否则可能会出现中文乱码的问题。更改完成后,点击“Save按钮”,这里要注意更改完成后得要重新启动msys2_shell.cmd,设置才能生效。
在msys2中安装软件(启动msys2_shell.cmd)
安装yasm
重启msys2_shell.cmd后,我们在弹出的窗口中执行命令:
命令 | pacman -S make yasm diffutils pkg-config |
Gcc
Windows: | pacman -S mingw-w64-x86_64-gcc或pacman -S mingw-w64-x86_64-toolchain+pacman -S mingw-w64-i686-toolchain(装1,2,3,15) |
Linux: | pacman -S mingw-w64-i686-gcc |
pacman -S base-devel
pacman -S nasm(nasm用于编译x264的汇编代码)。
安装完成之后,要注意msys2目录下有:
clang64.exe | |
mingw32.exe | 用mingw-w64-i686-toolchain 编译。 |
mingw64.exe | 用mingw-w64-x86_64-toolchain编译。 |
msys2.exe | |
ucrt64.exe |
注意:安装MSYS工具一定在MSYS2 MSYS(msys2_shell.cmd)窗口中进行。
3、查看gcc的版本
启动MSYS2 MinGW 64-bit ,在mingw64.exe窗口中查看gcc的版本。屏幕显示如下:
$ gcc -v
Using built-in specs.
COLLECT_GCC=D:\softwareinstall\msys64\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=D:/softwareinstall/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/12.1.0/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../gcc-12.1.0/configure --prefix=/mingw32 --with-local-prefix=/mingw32/local --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 --with-native-system-header-dir=/mingw32/include --libexecdir=/mingw32/lib --enable-bootstrap --enable-checking=release --with-arch=i686 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts --enable-libstdcxx-time --disable-libstdcxx-pch --enable-lto --enable-libgomp --disable-multilib --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw32 --with-mpfr=/mingw32 --with-mpc=/mingw32 --with-isl=/mingw32 --with-pkgversinotallow='Rev2, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld --disable-libstdcxx-debug --disable-sjlj-exceptions --with-dwarf2 --with-boot-ldflags=-static-libstdc++ --with-stage1-ldflags=-static-libstdc++
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.1.0 (Rev2, Built by MSYS2 project)
编译ffmpeg(32bit)
1、下载FFMPEG最新版本5.1
地址:https://ffmpeg.org/
往下拉
下载完后,
解压到msys64/home下
在home文件夹下新建文件夹out
如果是编译64bit代码,启动 MSYS2 MinGW 64-bit
编译32bit代码,启动 MSYS2 MinGW 32-bit
这里编译的是32bit:
在msys64文件夹启动cmd 输入:
msys2_shell.cmd -mingw32
跳转到ffmpeg文件夹下
cd /home/ffmpeg-5.1/
输入:
./configure --enable-shared --disable-static --disable-x86asm --prefix=/home/out
编译动态库到out文件夹
make
make install