在CentOS系统上 交叉编译FFmpeg Windows SDK
在CentOS系统上编译FFmpeg
要在CentOS系统上编译FFmpeg,以供Windows使用,您可以使用MinGW-w64工具链进行交叉编译
编译步骤
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 安装所需的软件
sudo yum install gcc make yasm mercurial
- 下载并安装MinGW-w64工具链
sudo yum install mingw64-gcc mingw64-gcc-c++
- 下载FFmpeg源代码
请替换 x.y.z 为您要编译的FFmpeg版本号。wget https://ffmpeg.org/releases/ffmpeg-x.y.z.tar.gz tar xvf ffmpeg-x.y.z.tar.gz cd ffmpeg-x.y.z
- 配置交叉编译环境变量
export PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin:$PATH export CROSS_PREFIX=x86_64-w64-mingw32- export CC=${CROSS_PREFIX}gcc export CXX=${CROSS_PREFIX}g++
- 运行配置脚本,指定目标平台为Windows
–prefix=/home/ffbuild 修改为保存路径./configure --arch=x86_64 --target-os=mingw32 --cross-prefix=${CROSS_PREFIX} --disable-shared --enable-static --prefix=/home/ffbuild
- 编译和安装FFmpeg
make sudo make install
- 完成后,您可以在 /home/ffbuild 路径下找到生成的可执行文件和库文件
- 编译生成的文件夹,拷贝至Windows系统,将bin目录添加至系统环境变量方可
补充事项
如果在安装yasm、mingw64-gcc、mingw64-gcc-c++ 时找不到这三个库
可以去https://pkgs.org这个网址找到自己对应系统版本的库
wget下载到本地后通过rpm -ivh 安装
举例:
wget http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/yasm-1.3.0-7.el8.x86_64.rpm
rpm -ivh yasm-1.3.0-7.el8.x86_64.rpm
安装可能需要的依赖,缺什么补充什么:
mingw64-binutils-2.30-3.el8.x86_64.rpm
mingw64-pkg-config-0.28-11.el8.x86_64.rpm
mingw64-cpp-7.2.0-2.el8.x86_64.rpm
mingw64-winpthreads-5.0.2-2.el8.noarch.rpm
mingw64-crt-5.0.2-2.el8.noarch.rpm
mingw-binutils-generic-2.30-3.el8.x86_64.rpm
mingw64-filesystem-104-3.el8.noarch.rpm
mingw-filesystem-base-104-3.el8.noarch.rpm
mingw64-gcc-7.2.0-2.el8.x86_64.rpm
yasm-1.3.0-7.el8.x86_64.rpm
mingw64-headers-5.0.2-2.el8.noarch.rpm
mingw64-gcc-c++-7.2.0-2.el8.x86_64.rpm