700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 1.安装msys64_2 vs编译ffmpeg

1.安装msys64_2 vs编译ffmpeg

时间:2023-02-17 06:24:05

相关推荐

1.安装msys64_2 vs编译ffmpeg

MinGW64(Minimalist GNU for Windows)用于在 Windows 上编译基于GCC的应用程序。他主要提供了针对 win32 应用的 GCC、GNU binutils 等工具,以及对等于 Windows SDK(的子集)的头文件和用于 MinGW 版本的 linker 的库文件(so【动态链接库】、a【静态链接库】 等,而不是 VC 的lib)。MinGW 是用于进行 Windows 应用开发的 GNU 工具链(开发环境),它的编译产物一般是原生 Windows 应用。(mingw 的命令行工具的命令都是基于 windows 的!!!)

MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包,提供了部分 Unix 工具以使得 MinGW 的工具使用起来方便一些(MinGW需要在MSYS内部通过 pacman 安装)

安装msys64_2

msys_2下载地址:/

先切换源,编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

Server = http://mirrors./msys2/mingw/i686

编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加

Server = http://mirrors./msys2/mingw/x86_64

编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加

Server = http://mirrors./msys2/msys/$arch

可安装到D:\msys64_2目录下,下载安装后在目录中打开名为mingw64的应用程序。

1.测试命令,S为保存,s为安装包,组合后为搜索安装包,-S为直接安装

pacman -Ss gcc

安装编译ffmpeg需要的工具:

pacman -S make gcc diffutils pkg-config nasm

安装可能会中断报错,这需要多次尝试。

参考/skydo/p/12205905.html

再安装SDL,需要它生成ffplay,

pacman -S mingw64/mingw-w64-x86_64-SDL2

安装的时候报错:

继续敲,这里敲到第三遍,就成功了。。。

再执行命令,这些用作更新的:

pacman-key --initpacman -Syu

换成国内镜像命令:

pacman-mirror -c China

MinGW安装ffmpeg

ffmpeg下载地址:/download.html

/builds/

在mingw64的环境下进行安装,先运行启动mingw64.exe

对于进入到D:\audio_down\ffmpeg-4.1.4目录下的命令为:

cd /d/audio_down/ffmpeg-4.1.4

用下面的编译命令将没有生成ffplay,进入到上面的目录后执行make clean作清理。

有ffplay的编译命令

./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static make -j4make install

编译时间较长,,,约100min

编译成功后在环境下的/usr/local/ffmpeg目录中(也就是D:\msys64_2\usr\local\ffmpeg\bin),可见两个可执行文件,ffmpeg.exe和ffprobe.exe文件

附加:pacman无法从源下载数据问题?

解决方法:1.更新pasam命令:pacman -S pacman

2.换一下下载源,这种方法不好,你不知道那个网站更新快,哪个网新更新慢。这种方法比较傻

nano /etc/pacman.conf

把[core],[extra],[community]里面的源注释掉加上新源就可以了。

3.手动将要下的数据包下到本地,然后在安装

pacman -Sw 源地址/libldap-2.4.23-1-i686.pkg.tar.xz -P /var/cache/pacman/pkg/

pacman -U /var/cache/pacman/pkg/libldap-2.4.23-1-i686.pkg.tar.xz

pacman -U 时,遇到以下问题

warning: directory permissions differ on var/

filesystem: 777 package: 755

解决上面的问题是

chmod 755 /var

这种方法比较通用性

注:编译报错:libavformat/os_support.c:230:10: error: ‘ERROR_NOT_ENOUGH_MEMORY’ undeclared (first use in this function)

需在源码 ffmpeg-3.4.2/libavformat/os_support.h 中引用 #include “winerror.h” 。

vs编译ffmpeg

可参考:点这里,安装编译教程

确定在mingw64的环境下,输入编译命令,允许交叉编译

./configure --toolchain=msvc --prefix=/usr/local/ffmpeg --enable-cross-compile

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。