【无标题】

参考 

(一)设置
(1)win10, cmd window, v2ray proxy
set HTTPS_PROXY=127.0.0.1:10809
 
(2)win10, gitcmd window, v2ray proxy
set HTTPS_PROXY=127.0.0.1:10809
 
(3)win10, gitbash window, v2ray proxy

export https_proxy=http://127.0.0.1:10809

 
  1. git submodule update --init --recursive == git submodule init & git submodule update

三、安装gcc编译器等

如果选择MinGW-w64编译则打开MSYS2 MinGW 64-bit快捷方式,在shell窗口中输入:

pacman -S mingw-w64-x86_64-toolchain

然后选择全部安装。

而如果选择msys编译则打开MSYS2 MSYS快捷方式,在shell窗口中输入:

pacman -S msys2-devel
或者 
pacman -S make gcc diffutils pkg-config

然后选择全部安装。

四、编译环境的其他准备工作

1. 重命名link.exe
重命名msys64/usr/bin/link.exe 为msys64/usr/bin/link.bak, 避免和MSVC 的link.exe抵触。
2. 下载和安装YASM
这一步好像已经不必要,最新版的代码中已经使用nasm来代替yasm。
YASM下载地址:http://yasm.tortall.net/Download.html,下载其64位版本Win64 .exe (64 位 Windows 通用),即页面中的Win64 .exe (for general use on 64-bit Windows)。
下载后,将下载回来的yasm-1.3.0-win64.exe 改名为yasm.exe,并放置于 MSYS2 安装目录:/msys64/usr/bin/ 中。
3.打开[适用于 VS 2017 的 x64 本机工具命令提示]关联的mingw64或者msys窗口

开始菜单中的Visual Studio 2017目录下有多种命令提示符的快捷方式:
VS 2017的开发人员命令提示符
VS 2017的 x64_x86 交叉工具命令提示符
适用于 VS 2017 的 x64 本机工具命令提示
适用于 VS 2017 的 x86 本机工具命令提示
适用于 VS 2017 的 x86_x64 兼容工具命令提示
一开始我没注意,选择了VS 2017的开发人员命令提示符,这个默认是x86 32位环境,cl编译器默认为32位编译器,在编译ffmpeg时configure中就算指定了x64位但是编译出来的还是32位dll和exe。

可以直接在开始菜单中输入: vs 2017就会出现列表,选择打开适用于 VS 2017 的 x64 本机工具命令提示,在窗口中输入:

C:\Program Files\Microsoft Visual Studio\2022\Professional>"C:\msys64\msys2_shell.cmd"

从vs2017的shell打开msys2 shell是为了继承vs2017的环境路径。
我发现一个问题,这样打开的msys2 shell窗口,有时不能使用Ctrl+C来中止当前正在执行命令,比如我现在用git clone下载一个比较大的项目,然后太慢了想中止,按Ctrl+C之后根本无法中止命令,只有使用任务管理器强制关闭git进程才可以,在stackoverflow上搜索的结果也是无法解决,说了一堆理由没仔细看,还好我们只是需要这个窗口来编译一下ffmpeg和x264而已,所以也无所谓了。

4. 检查编译环境工具

which cl link yasm cpp

看看返回的结果是否正确,没有no的结果一般就没问题。
5.修改支持中文显示
窗口右键->Options->Text,然后locale选择:zh_CN,Character set 选择 UTF-8。
6.安装nasm
编译当前最新x264时需要用到nasm。

pacman -S nasm
pacman -S nasm

或者也可以直接去nasm官网下载exe到bin目录中(我一开始就是用这种方法)。

cd /d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg

/d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg/configure \
--prefix=/d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg_install \
--enable-ffplay \
--enable-ffmpeg \
--enable-ffprobe \
--toolchain=msvc \
--arch=x86_64 \
--target-os=win64 \
--enable-yasm \
--enable-asm \
--enable-shared \
--extra-cflags="-I/d/edda_work_d/SDL/SDL_install/include" \
--extra-ldflags="-LIBPATH:/d/edda_work_d/SDL/SDL_install/lib"

# mingw64
pacman -S mingw-w64-x86_64-toolchain
pacman -S make
pacman -S automake
pacman -S autoconf
pacman -S perl
pacman -S libtool
pacman -S mingw-w64-i686-cmake
pacman -S pkg-config
# 如果需要编译出ffplayer的话,还需要安装SDL 
pacman -S mingw-w64-x86_64-SDL2
# 重命名/usr/bin/link.exe,避免冲突
cd /usr/bin
mv link.exe link.bak
# yasm
pacman -S yasm
# 如果没有找到cl,link,代表VS
which cl link yasm cpp

/d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg_build

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值