起因是,現在開始做翻譯,發現這個軟件在 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 的顯示。誰讓官方不維護了呢。