准备维护 Aegisub 先介绍编译 win10 64 vs2017

起因是,现在开始做翻译,发现这个软件在 WIN 上面显示很模糊,没有适配 高 DPI 显示,看了 从 2014年后,官方就不在发布新版本了,为了自己用着舒服,也为了广大的字幕影视爱好者。

所以 fork 了项目,开始维护这个项目:https://github.com/nejidev/AegisubX

开发环境:win10 64位 vs2017 

https://learn.microsoft.com/zh-cn/visualstudio/releasenotes/vs2017-relnotes

选中使用 C++ 的桌面开发,下载安装好 其它所需的软件和下载地址:

git for windows
vs2017
python3.10
.net 4.6.2
Visual C++ Redistributable 2010
yasm-1.3.0-win64.exe

下载地址

git for windows
https://github.com/git-for-windows/git/releases/download/v2.37.3.windows.1/Git-2.37.3-64-bit.exe

vs2017
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

.net 4.6.2
https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net462-developer-pack-offline-installer

Visual C++ Redistributable 2010
https://www.microsoft.com/zh-CN/download/details.aspx?id=48145

yasm-1.3.0-win64.exe
http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe

yasm-1.3.0-win64.exe 下载后改名为 yasm.exe 放到下面位置,并将 C:\yasm\ 配置到系统环境变量
C:\yasm\yasm.exe

下载源码

git clone --recursive https://github.com/Aegisub/Aegisub.git

或者
git clone https://github.com/Aegisub/Aegisub.git
git submodule update --init

把项目 clone 到 自己的 github 了,方便修改提交,修复bug

https://github.com/nejidev/AegisubX.git

修复编译错误 1
1>C:\source\Aegisub\build\icu\icu.vcxproj(52,5): error : 无法连接到远程服务器

原因:
build/icu/icu.vcxproj
<IcuDt>icudt53l</IcuDt>

<!-- Generated with tools/strip-icu.py -->
<DownloadTgzFile
Url="http://www.aegisub.org/~plorkyeran/$(IcuDt)-be995a7e5fe230029e9b1e547b7de8826888c18c.dat.gz"
OutputFile="$(MSBuildThisFileDirectory)..\..\vendor\icu\source\data\in\$(IcuDt).dat"
Hash="be995a7e5fe230029e9b1e547b7de8826888c18c"
/>
</Target>

编译时从 网络下载
http://www.aegisub.org/~plorkyeran/$(IcuDt)-be995a7e5fe230029e9b1e547b7de8826888c18c.dat.gz
但是现在已无法下载,所以需要自己建立一个,这里选择使用 python 自带的 http 服务器

将要下载的文件准备好,这里放在了 downloads 文件夹,将来会打包发布到 github
cd downloads
python -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...

编译成功:

 

开源项目介绍
Aegisub\build 使用到的库

Aegisub/ 主生成 exe
googletest/ google 测试
BuildTasks/ 编译工程使用
hunspell/
icu/ 国际化
scintilla/
PortableInstaller/ 生成封装安装包
libaegisub/ aegisub 自己的库
boost/ c++ 常用库
libass/
csrihelper/
libiconv/ 字符转换
tests/ 测试相关
expat/
libpng/ png 解码 编码
universalchardet/
ffmpeg/ ffmpeg 音视频编解码库
libresrc/ 资源处理
userconfig/ 配置相关
ffms2/ 封装了 ffmpeg 的库 方便开发
luabins/ lua 脚本
fftw/
luajit/
wx/ wxWidgets 跨平台 UI库
freetype2/ 字体库
luajit-buildvm/
fribidi/
luajit-minilua/
zlib/ 压缩解压

接下来的计划,准备升级 wxWidgets 用来支持 2K 4K 高 DPI 的显示。谁让官方不维护了呢。

 

posted @ 2022-09-24 11:42  宁次  阅读(125)  评论(0编辑  收藏  举报