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
- 然后,通过运行以下命令来更新所有软件包:
当被要求重新启动MSYS时,点击yes。再次启动MSYS,然后重复上述命令。一切更新完毕后,关闭MSYS。pacman -Syu
6.http://files.1f0.de/mingw/将其放入文件夹C:\MSYS64\mingw64
(覆盖已有文件)。 - 建议添加
C:\MSYS64\mingw64\bin
和C:\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(或任何其他地方)。
-
安装Git
-
运行以下命令:
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源代码
- 打开该解决方案文件 C:\mpc-hc\mpc-hc.sln。
将解决方案的配置更改为 Release (在工具栏中)。
2.按 F7 去生成解决方案。
3.则将获得 mpc-hc.exe 文件在路径 C:\mpc-hc\bin\mpc-hc_x86下。 - 打开该解决方案文件C:\mpc-hc\mpciconlib.sln。
- 按 F7 去生成解决方案。
- 则将获得mpciconlib.dll文件在路径 C:\mpc-hc\bin\mpc-hc_x86下。
- 打开该解决方案文件 C:\mpc-hc\mpcresources.sln。
- 执行 BuildAll 项目。
- 则将获得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,因为它会很容易地中断。