msys2使用QT的mingw编译器编译ffmpeg

使用的时候最好关闭杀毒软件,否则configure和make会很慢
window编译ffmpeg mingw,要在windows搭建一个模拟linux环境,下载安装MSYS2-64, 网址:https://www.msys2.org/
我这里安装在了默认的路径
在这里插入图片描述安装完成后,将Qt的mingw32的库全部转移过来(直接拷贝就可以)
在这里插入图片描述拷贝完成后,运行mingw32.exe
在这里插入图片描述更新包数据块和系统核心包

pacman -S make yasm diffutils pkg-config

pacman -S nasm

修改etc下的fstab
c:/msys64/mingw32/ /mingw
在这里插入图片描述
然后启动mingw32.exe
写一个helloword的小程序测试一下
在这里插入图片描述
可以看到有输出,证明可以使用

gcc -v

在这里插入图片描述
证明可以使用

但是编译x264的时候出现了 No working C compiler found的错误,有可能是X264版本太高的问题,
这里换到了2015的一个版本后成功编译
在这里插入图片描述

./configure --host=i686-w64-mingw32 --prefix=$(pwd)/install --enable-shared --enable-static --enable-pic --disable-cli

可以在下面这个网址下载x264

http://download.videolan.org/x264/snapshots/

在./cofigure时可能出现

 line ***:tr:command not found
    line ***:uname:command not found
    line ***cat:command not found

解决办法:安装coreutils,在安装目录的bin目录下将缺少的命令的exe和libintl3.dll,libiconv2.dll 文件拷贝到C:MinGW/msys/1.0/bin目录下

warning:pkg-config not found, library detection may fail

解决办法:下载pkg-config-0.23-2.zip及glib_2.18.4-1_win32.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip

把pkg-config.exe 和 glib_2.18.4-1_win32.zip中的libglib-2.0-0.dll放在mingw的bin目录下,或者放在$path目录下.
在这里插入图片描述
然后make && make install
在这里插入图片描述
x264这个文件夹是我自己创建的,将include和lib放了进去,方便后面编译ffmpeg

编译SDL

./configure --host=i686-w64-mingw32 --prefix=$(pwd)/install --enable-shared --enable-static
make && make install

在这里插入图片描述
跟x264一样创建一个sdl文件夹,将include和lib放进去
编译libfdkaac
下载:https://sourceforge.net/projects/opencore-amr/files/fdk-aac/

./configure --host=i686-w64-mingw32 --prefix=$(pwd)/install --enable-shared --enable-static
make && make install

编译ffmpeg

./configure --prefix=$(pwd)/install/ --enable-shared --enable-static --enable-gpl --enable-libx264 --extra-cflags=-I$(pwd)/x264/include --extra-ldflags=-L$(pwd)/x264/lib --enable-sdl2 --extra-cflags=-I$(pwd)/sdl/include --extra-ldflags=-L$(pwd)/sdl/lib --enable-nonfree --enable-ffmpeg --enable-ffplay --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-stripping --disable-x86asm
./configure --arch=x86_32 --prefix=$(pwd)/install/ --enable-shared --enable-static --enable-gpl --enable-libx264 --extra-cflags=-I$(pwd)/x264/include --extra-ldflags=-L$(pwd)/x264/lib --enable-sdl2 --extra-cflags=-I$(pwd)/sdl/include --extra-ldflags=-L$(pwd)/sdl/lib --enable-nonfree --enable-ffmpeg --enable-ffplay --enable-swscale --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-stripping --disable-x86asm
 ./configure --arch=x86_32 --prefix=$(pwd)/install/ --enable-shared --enable-static --enable-gpl --enable-libx264 --extra-cflags=-I$(pwd)/x264/include --extra-ldflags=-L$(pwd)/x264/lib --enable-sdl2 --extra-cflags=-I$(pwd)/sdl/include --extra-ldflags=-L$(pwd)/sdl/lib --enable-libfdk_aac --extra-cflags=-I$(pwd)/fdkaac/include --extra-ldflags=-L$(pwd)/fdkaac/lib --enable-nonfree --enable-ffmpeg --enable-ffplay --enable-swscale --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-stripping --disable-x86asm

遇到这个错误

ERROR: sdl2 requested but not found

修改configure

6170   if enabled sdl2; then
6171       #SDL2_CONFIG="${cross_prefix}sdl2-config"
6172  		  SDL2_CONFIG="d:/project/SDL-release-2.0.12/sdl2-config"  #交叉编译sdl2目录

然后重新configure
成功后make && make install

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用MSYS2和VS2015编译FFmpeg,你可以按照以下步骤进行操作: 1. 首先,你需要下载并安装MSYS2。你可以从官方网站https://www.msys2.org/下载MSYS2安装程序。 2. 安装完成后,打开MSYS2的命令行界面,并运行以下命令来安装必要的工具:pacman -S make gcc diffutils 3. 为了避免和MSVC的link.exe程序冲突,你需要将C:\msys64\usr\bin\link.exe重命名为C:\msys64\usr\bin\link_orig.exe。 4. 下载YASM(The Yasm Modular Assembler),你可以从官方网站https://www.tortall.net/projects/yasm/wiki/Download下载YASM。将下载的yasm--win64.exe重命名为yasm.exe,并将其拷贝至MSYS2的安装目录(比如C:\msys64)。 5. 现在你可以下载FFmpeg的源代码。你可以从官方GitHub仓库https://github.com/FFmpeg/FFmpeg下载FFmpeg的源码。 6. 打开MSYS2的命令行界面,并切换到FFmpeg源码所在的目录。 7. 运行以下命令来配置FFmpeg编译选项:./configure --toolchain=msvc --arch=x86_64 --enable-yasm --enable-asm --enable-shared --disable-static 8. 配置完成后,你可以运行make命令来开始编译FFmpeg。请注意,编译过程可能会比较耗时,请耐心等待。 9. 编译完成后,你可以使用编译好的库来进行你的项目开发。 总结一下,使用MSYS2和VS2015编译FFmpeg的步骤包括安装MSYS2、安装必要的工具、重命名link.exe、下载YASM、下载FFmpeg源码、配置编译选项、运行make命令进行编译。希望以上信息对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用msys64+vs2019在编译ffmpeg](https://download.csdn.net/download/ihmhm12345/13116875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [使用MSYS2 + VS2022编译FFmpeg](https://blog.csdn.net/powang2011/article/details/122724685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值