平台和软件准备
- Windows 10
- Visual Studio 2022
- tg前端桌面代码下载,官网 https://github.com/telegramdesktop/tdesktop,后端代码不开源
- 官方Windows编译指导 https://github.com/telegramdesktop/tdesktop/blob/dev/docs/building-win.md
- 本文档仅作为编译参考与补充,以官方文档为准
一 需要准备的安装包或解压包
安装包-6个
1.1.Download Strawberry Perl installer from http://strawberryperl.com/ and install to BuildPath\ThirdParty\Strawberry
1.2.Download NASM installer from http://www.nasm.us and install to BuildPath\ThirdParty\NASM
1.4.Download MSYS2 installer from http://www.msys2.org/ and install to BuildPath\ThirdParty\msys64
1.6.Download Python 3.9 installer from https://www.python.org/downloads/ and install to BuildPath\ThirdParty\Python39
1.7.Download CMake 3.21 or later installer from https://cmake.org/download/ and install to BuildPath\ThirdParty\cmake
1.9.Download Git installer from https://git-scm.com/download/win and install it.
解压包-4个
1.3.Download Yasm executable from http://yasm.tortall.net/Download.html, rename to yasm.exe and put to BuildPath\ThirdParty\yasm
1.5.Download jom archive from http://download.qt.io/official_releases/jom/jom.zip and unpack to BuildPath\ThirdParty\jom
1.8.Download Ninja executable from https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip and unpack to BuildPath\ThirdParty\Ninja
1.10.Download NuGet executable from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe and put to BuildPath\ThirdParty\NuGet
二 设置系统环境变量
ThirdParty各应用 加入到 PATH 中,
All commands (if not stated otherwise) will be launched from x86 Native Tools Command Prompt for VS 2022.bat (should be in Start Menu > Visual Studio 2022 menu folder). Pay attention not to use any other Command Prompt.
# 安装需要的包
python -m pip install pywin32
# breakpad 需要
pip install six
三 git设置,2023为实际port
git config --global http.proxy " http://127.0.0.1:2023"
git config --global https.proxy " https://127.0.0.1:2023"
git config --global user.email "myname@gmail.com"
git config --global user.name "myname"
四 重要,详细参看:
编译Windows客户端
务必使用Windows 10新版本,因为要求使用Visual Studio 2022,在旧版本系统上可能不能安装了,至少windows7是不能安装的,我使用LTSC2019,相当于1809版本,安装VS 2022的community版本,安装了C++桌面开发的部分组件和要求的Windows 10SDK,没有安装VS的Qt插件。
4.1 除了系统版本和SDK版本,Windows上的编译还需要注意把中文版本Windows的默认编码设置成utf8,否则会有个叫做opus的组件报错。【我实际遇到的是,如果不设置,breakpad会报错,所以 必须 设置】
4.2 Windows上编译之前需要把prepare.py中的Windows 64bit的变量手动修改,直接改成True,因为python已经不再包含platform环境信息。【如果是编译win32的,就把 win32设置为True,win64设置为False】
生成的VS项目中可以修改源代码编译,而不必修改后重复准备工作。
补充:
tdesktop\Telegram\build\prepare\win.bat
运行时候,部分依赖库如果已经安装,可以选择skip。
五 编译生成vs项目文件
# configure.bat -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH
# api_id: 17349 api_hash: 344583e45741c457fe1862106095a5eb 测试id
configure.bat -D TDESKTOP_API_ID=17349 -D TDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb
然后打开vs2022,可以直接编译项目,生成Telegram.exe
学海无涯,错误难免,如有发现,尽请指正。
--the end