• 【无标题】


    参考 

    (一)设置
    (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窗口中输入:

    1. pacman -S msys2-devel
    2. 或者
    3. 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。

    1. pacman -S nasm
    2. pacman -S nasm

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

    cd /d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg

    1. /d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg/configure \
    2. --prefix=/d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg_install \
    3. --enable-ffplay \
    4. --enable-ffmpeg \
    5. --enable-ffprobe \
    6. --toolchain=msvc \
    7. --arch=x86_64 \
    8. --target-os=win64 \
    9. --enable-yasm \
    10. --enable-asm \
    11. --enable-shared \
    12. --extra-cflags="-I/d/edda_work_d/SDL/SDL_install/include" \
    13. --extra-ldflags="-LIBPATH:/d/edda_work_d/SDL/SDL_install/lib"

    1. # mingw64
    2. pacman -S mingw-w64-x86_64-toolchain
    3. pacman -S make
    4. pacman -S automake
    5. pacman -S autoconf
    6. pacman -S perl
    7. pacman -S libtool
    8. pacman -S mingw-w64-i686-cmake
    9. pacman -S pkg-config
    10. # 如果需要编译出ffplayer的话,还需要安装SDL
    11. pacman -S mingw-w64-x86_64-SDL2
    12. # 重命名/usr/bin/link.exe,避免冲突
    13. cd /usr/bin
    14. mv link.exe link.bak
    15. # yasm
    16. pacman -S yasm
    17. # 如果没有找到cl,link,代表VS
    18. which cl link yasm cpp

    /d/edda_work_d/FastForwardMovingPicturesExpertGroup/FFmpeg_build

  • 相关阅读:
    tensor补充
    jira查询user详细信息
    全景解析 Partisia Blockchain:以用户为中心的全新数字经济网络
    ASP.NET Core 6框架揭秘实例演示[06]:依赖注入框架设计细节
    Leetcode刷题详解——有效三角形的个数
    【Mysql】Mysql的数据类型
    传奇XO引擎架设教程
    「整合企业资源 壮大数字经济产业」成都市金牛区人大常委会“文半城”调研组莅临国际数字影像产业园考察调研
    怎样基于VitePress(Vite官网主题)写自己文档
    MMDetection(二):目标检测的示例运行
  • 原文地址:https://blog.csdn.net/zlf19910726/article/details/126541992