Idealisan

在不同平台上编译Telegram的注意事项

编译安卓客户端

基本没有什么坑,严格安装SDK版本、tools版本等工具,填写APPID、APPID_HASH即可。

编译Windows客户端

务必使用Windows 10新版本,因为要求使用Visual Studio 2022,在旧版本系统上可能不能安装了,至少windows7是不能安装的,我使用LTSC2019,相当于1809版本,安装VS 2022的community版本,安装了C++桌面开发的部分组件和要求的Windows 10SDK,没有安装VS的Qt插件。

除了系统版本和SDK版本,Windows上的编译还需要注意把中文版本Windows的默认编码设置成utf8,否则会有个叫做opus的组件报错。

Windows上编译之前需要把prepare.py中的Windows 64bit的变量手动修改,直接改成True,因为python已经不再包含platform环境信息。

生成的VS项目中可以修改源代码编译,而不必修改后重复准备工作。

编译macOS Swift客户端

这里指的是使用Swift开发的客户端,而不是使用Qt开发的和Windows、Linux通用的客户端。

克隆项目后,submodule部分不能正常递归克隆,需要按下command+shift+.查看并手动根据隐藏的.gitmodules文件克隆到对应的目录中。github上的文档已经不适用于现在的代码结构,需要手动查找这些submodule对应的代码仓库,有些仓库已经转移了,注意其中有gitlab而不是github的仓库。

修改Config.swift中的apiId和apiHash,这个文件在packages/ApiCredentials/Sources/ApiCredentials/Config.swift

其中的apiId默认是9,这么个数字太不起眼了。

最后macOS版本的编译工作因为sparkle.framework缺失这样的报错而不在继续,另一个原因是macOS版本的座位我想要使用的主力版本之一,需要频繁更新官方版本,我自己修改的意义不大,不如使用修改过的Windows版本,也许可以考虑把windows版本的经验拿过来用。

分类

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注