官网:
https://github.com/telegramdesktop/tdesktop
引言
- 在windows 10 x64系统上编译telegram desktop v4.3.1
- 前提:科学上网
1. 在虚拟机上安装windows10
最开始在自己的win10按照教程编译,后面提示系统错误(猜测编译过程对windows系统有修改导致环境出错),因为工程比较大(变异完20G+),所以建议在虚拟机上进行编译工作。
2. 环境准备
2.1 编译目录结构准备:
- 创建TBuild文件夹
- 在Tbuild目录下,创建ThirdParty和Libraries文件夹
2.2 安装VS 2022:
- 安装完后在扩展中安装Qt VS Toosl插件,如下
2.3 安装CMake 3.21
- 官方教程说的是3.21和更新版本都可以,我用的cmake3.24;
- 安装在Tbuild\ThirdParty\cmake目录下,下载地址:https://cmake.org/download/
2.4 安装Python 3.9
- (我这里下载的3.9.13)
- 下载地址:https://www.python.org/downloads/windows/,安装在Tbuild\ThirdParty\Python39目录下
(注意:安装的时候,将其添加到环境变量中) - 打开VS2022的命令终端 x64 Native Tools Command Prompt(管理员方式),切换到TBuild目录下,执行
python -m pip install pywin32
2.5 安装Git
- 下载地址:https://git-scm.com/download/win(默认安装即可)
3. 下载源码
- 递归地下载项目和子模块源码:
git clone --recursive https://github.com/telegramdesktop/tdesktop.git
(下载到TBuild目录下)
注意:克隆完成后,需要先对TBuild\tdesktop\Telegram\build\prepare目录下的prepare.py 文件进行修改(原因是官方最新的win-x64编译教程不能在windows上编译通过,所以回退到支持windows编译的历史节点,项目代码不需要回退
)
其修改内容如下:
4. 开始编译
4.1 切换到v4.3.1节点
git check hash
(4.3.1的hash是 e675dc1ef13c2593e02e9371d53de35932fa5271)
4.2 下载依赖库
- x64 Native Tools Command Prompt中执行脚本 tdesktop\Telegram\build\prepare\win.bat,整个过程时间会比较久一点
4.3 开始编译
- 切换到TBuild\tdesktop\Telegram目录下,执行:
configure.bat x64 -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH
(这里需要填写api_id和api_hash,我这里使用官方提供用于测试的api_id: 17349和api_hash: 344583e45741c457fe1862106095a5eb)
4.4 vs中构建
- 使用VS2022打开TBuild\tdesktop\out\Telegram.sln
- 设置Qt VS Tools的qt version为TBuild\Libraries\win64\Qt-5.15.4(由编译过程生成的qt库)
- 右键Telegram ,点击生成
踩坑记录
- telegram desktop项目比较大,依赖库比较多。在虚拟机中安装win10,一个干净的环境能让编译进行得更加顺利;
- 官方最新的build for win-x64(Sep 22,2022)是不能在windows上编译通过的,需要修改回之前的节点(手动修改编译部分的内容,项目节点为 V4.3.1)