Part A: 准备Visual Studio开发环境

-------Visual Studio 2019 (or 2017)
1.安装 Visual Studio. 至少包括以下组件:

  • C++ core features

    • IntelliCode
    • Windows Universal C Runtime
    • Windows Universal CRT SDK
    • C++ build tools (x86 & x64)
    • C++ ATL
    • C++ MFC
  • Windows 10 SDK (10.0.17763.0 or 其他任何版本)

2.安装Windows 8.1 SDK → https://go.microsoft.com/fwlink/p/?LinkId=323507

  • 在选择要安装哪些功能时,只需要选择"Windows Software Development Kit".
  • 或者,可以使用Windows10SDK,但是生成的二进制文件至少需要Windows7SP1,因此将失去与Vista和7RTM的兼容性。

Part B: 安装 Python 3 (可选择性)

这是创建 translation DLL (翻译)文件所必需的
1.安装 Python 3.8.7 版本从https://www.python.org/downloads/release/python-387/
(可以使用 Python 3.6 或 更新版本)
2. 运行以下指令安装所需库
C:\Program Files\Python38\Scripts\pip install --upgrade polib
(个人Python环境下安装)

Part C: 准备MSYS 和 GCC 环境(可选择)

这是构建 LAV Filters(LAV滤波器)所必需的,它被MPC-HC用作内部编解码器。

通过选择“ReleaseLite”/“DebugLite”构建配置,可以跳过LAV过滤器的编译。在MPC-HC项目文件中。这对在开发过程中进行快速构建非常有用。 生成的二进制文件将缺少内部过滤器功能。所以不要使用这个配置发布版本。

1.下载 MSYS2 从 http://www.msys2.org/。
如果使用的是64位的操作系统,请获取下载64位的版本。
2.将其安装到例如**C:\MSYS64\路径。应在稍后将创建build.user.bat**配置脚本中指定安装路径。
3.运行 msys2_shell.bat
4. 通过运行以下命令来安装一些其他必需的工具:

pacman -S make pkg-config diffutils
  1. 然后,通过运行以下命令来更新所有软件包:

    pacman -Syu
    

    当被要求重新启动MSYS时,点击yes。再次启动MSYS,然后重复上述命令。一切更新完毕后,关闭MSYS。
    6.http://files.1f0.de/mingw/将其放入文件夹 C:\MSYS64\mingw64 (覆盖已有文件)。

  2. 建议添加 C:\MSYS64\mingw64\binC:\MSYS64\usr\bin 到 %PATH% 环境变量
    这允许从Windows命令行运行GCC和所有其他MSYS工具。
    配置环境变量:窗口控制面板>系统>高级系统设置>环境变量。
    在Windows10上,您可以通过单击Windows开始菜单并键入control.exe来访问传统控制面板。

Part D: Yasm

下载YASM并且以 yasm.exe 命名保存在(举例: C:\Windows or C:\MSYS64\usr\bin (参见part C)。设置环境变量在 %PATH%.中。

  • 对于 64-bit Windows: http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe
    (Recommended)
  • 对于 32-bit Windows: http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe

Part E: 配置路径文件

在MPC-HC的源代码文件夹中创建一个名为build.user.bat的文件(请参见第F部分)。它应该包含以下内容:(需要是自己电脑安装路径)

举例:

@ECHO OFF
REM [Required for LAVFilters] MSYS2/MinGW paths:
SET "MPCHC_MSYS=C:\MSYS64"
SET "MPCHC_MINGW32=C:\MSYS64\mingw64"
SET "MPCHC_MINGW64=C:\MSYS64\mingw64"
SET "MSYSTEM=MINGW32"
SET "MSYS2_PATH_TYPE=inherit"
REM [Optional] Specify GIT location if it is not already set in %PATH%
SET "MPCHC_GIT=C:\Program Files\Git"
REM [Optional] If you plan to modify the translations, install Python 3.8 and set the variable to its path
SET "MPCHC_PYTHON=C:\Program Files\Python38"
REM [Optional] If you want to customize the Windows SDK version used, set this variable
SET "MPCHC_WINSDK_VER=8.1"

注:

  • 对于VisualStudio,将尝试自动检测VS安装路径。如果失败,需要自己指定安装路径。例如:

    SET "MPCHC_VS_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\"
    
  • 如果在另一个目录中安装了MSYS软件包,则请确保在build.user.bat文件中设置了正确的路径。
    *如果没有安装Git,生成版本将不准确,版本号将硬编码为0。

Part F: 下载MPC-HC源代码

需要Git来下载源代码。
安装 Git 在 Windows 从 https://git-for-windows.github.io/ 还有Git Extensions 从http://gitextensions.github.io/.
选择 Use Git from the Windows command prompt. 这不是强制性的,所以如果你选择
Use Git from Git Bash only 并且确保设置了 MPCHC_GIT 变量在build.user.bat.

使用Git将MPC-HC的存储库克隆到C:\mpc-hc(或任何其他地方)。

  1. 安装Git

  2. 运行以下命令:

    git clone --recursive https://github.com/clsid2/mpc-hc.git
    

    或者

    git clone https://github.com/clsid2/mpc-hc.git
    git submodule update --init --recursive
    

    如果子模块更新失败,请尝试运行:

    git submodule foreach --recursive git fetch --tags
    

    然后再次运行更新

    git submodule update --init --recursive
    

备注:

可能出现下载错误:

fatal: unable to access‘https://github.com/clsid2/mpc-hc.git : ’Failed to connect to 127.0.0.1 port 1080:错误
解决方法:借助代理git config --global http.proxy 127.0.0.1:10809

中断下载
git config --global http.postBuffer 5242880000
远程便捷HTTP传输请求数据时最大的缓存字节数,默认时1M字节,默认能满足大多数请求。大文件可设置git缓存值为5G。

Part G: 编译MPC-HC源代码

  1. 打开该解决方案文件 C:\mpc-hc\mpc-hc.sln
    将解决方案的配置更改为 Release (在工具栏中)。
    2.按 F7 去生成解决方案。
    3.则将获得 mpc-hc.exe 文件在路径 C:\mpc-hc\bin\mpc-hc_x86下。
  2. 打开该解决方案文件C:\mpc-hc\mpciconlib.sln
  3. F7 去生成解决方案。
  4. 则将获得mpciconlib.dll文件在路径 C:\mpc-hc\bin\mpc-hc_x86下。
  5. 打开该解决方案文件 C:\mpc-hc\mpcresources.sln
  6. 执行 BuildAll 项目。
  7. 则将获得mpcresources.XX.dll 文件在路径C:\mpc-hc\bin\mpc-hc_x86\Lang下。

或者,可以使用build.bat来运行所有(运行:build.bat帮助以获取更多信息)。

Part H: Building the installer

下载 Inno Setup Unicode v5.5.9 或 更新版本http://www.jrsoftware.org/isdl.php.
安装所有内容,然后转到* C:\mpc-hc\distrib,使用Inno Setup打开mpc-hc_setup.iss
阅读脚本中的第一批注释并编译它。

备注

  • build.bat 可以通过使用安装 installer 或者 packages 交换
  • 如果想编辑iss文件,并且不要更改其编码,请使用Inno安装程序的内置IDE,因为它会很容易地中断。

自己手动编译mpc-hc播放器相关推荐

  1. Mark几款优秀的基于MPC开源播放器的源码供参考.

    SEP 11TH, 2016 2:00 PM MPC(Media Player Classic)是一款基于DirectShow由一名匈牙利大佬Gabest开发的一款开源播放器. 由于该项目基于GPL源 ...

  2. WPF 个人音乐播放器

    1 播放器 项目地址:https://github.com/ChrisLeeGit/wpf-music-player 1.1 说明 一款简单的个人音乐播放器,基于WPF C# .Net Framewo ...

  3. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  4. JW PLAYER 是一个界面简洁、功能齐全的在线flv flash播放器

    JW PLAYER 是一个界面简洁.功能齐全的在线flv flash播放器.有着很多可选控制参数. 多个参数可以混合使用,下面选择几个作简要说明: file (FLV文件的地址,如果不设置则默认为jw ...

  5. ffmpeg播放器快进快退(七)

    指导7:快进快退 处理快进快退命令 现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的.同时,这将告诉你av_seek_frame函数是多么容易使用. 我们 ...

  6. 【原创】Unity3D WebPlayer 网页版播放器插件离线配置方案

    如何能隐秘地在没有连接外网的机器上安装Unity3D的WebPlayer播放器插件? Unity发布成网页版后,需要安装WebPlayer播放器才能加载显示文件内容. 一般情况下,只需要从官网下载完整 ...

  7. 安装MPlayer播放器(号称Linux中的万能播放器)

    来源: ChinaUnix博客 日期: 2008.09.18 18:48 (共有条评论) 我要评论                                                   ...

  8. jquery 音频播放_10个jQuery HTML5音频播放器

    jquery 音频播放 根据Buzz Angle Music的数据 ,仅在美国,2017年第一季度就消费了830亿个音频流.这比上一季度增长了61.2%. 同时,音乐销量下降了23.8%. 2017年 ...

  9. TCPMP超级播放器Windows CE5.0(ARMV4)编译方法

    本文主要讲解TCPMP播放器到WINDOWS CE平台的移植编译过程,硬件平台以ARMV4为主,结束部分会讲解到ARMV4I编译中需要注意的问题 这几天为公司一个项目做准备,准备编译移植来自linux ...

  10. 迷你播放器--第一阶段(7)--安全攻防第一战--对抗反编译,代码混淆和对抗动态调试

    迷你播放器--第一阶段(7) 安全攻防第一战--对抗反编译,代码混淆和对抗动态调试; 本文章为CSDN作者原创,转载请保留出处:http://blog.csdn.net/lrs0304/article ...

最新文章

  1. PHP 读取Excel数据
  2. PowerDesigner的逆向工程.
  3. redux异步action_【第1586期】基于Redux/Vuex/MobX等库的通用化状态OOP
  4. Git 修改commit 相关操作
  5. 存储过程和存储函数和触发器示例
  6. 物联网工程课程设计论文
  7. C++norm函数的用法
  8. 全网最全Selenium自动化测试相关资源汇总
  9. 攻防世界逆向入门题之logmein
  10. matlab的omega0是什么,ABO设定中,A具体是怎么标记O的?
  11. android svg图片使用
  12. 沉病孩子留遗嘱 父疏申请接济劫持红十字员农
  13. 哪种手机便签软件可以打印,支持打印的手机便签软件
  14. Python实现网络聊天
  15. miceforest插补
  16. 脚本显示服务器超时,服务器诡异的请求超时问题
  17. 云原生爱好者周刊:为 DevOps 流水线准备的 macOS 虚拟化工具
  18. 棋牌游戏运营框架思路
  19. java模板引擎 jade_Jade 模板引擎使用
  20. 计算机中级职称什么时候出成绩,2021年上半年网络工程师成绩查询时间公布(7月12日),查询入口已开通!...

热门文章

  1. Android分享wifi给电脑,使用Android手机共享手机网络给PC上网
  2. 改变文本颜色和字体大小的脚本
  3. 什么是Google AMP
  4. DMAIC DFSS of 6sigma
  5. python 利用matplolib给绘制的地图添加方框,将所需的区域圈出来
  6. pika详解(二) BlockingConnection
  7. Kubernetes 学习路径
  8. newifi路由器 php,newifi路由器有线桥接教程
  9. visual studio code打不开
  10. html b5纸尺寸,b5纸的大小?