tdesktop/docs/building-win.md

4.2 KiB

Build instructions for Windows

Prepare folder

The build is done in Visual Studio 2022 with 10.0.22000.0 SDK version.

Choose an empty folder for the future build, for example D:\TBuild. It will be named BuildPath in the rest of this document. Create two folders there, BuildPath\ThirdParty and BuildPath\Libraries.

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.

Obtain your API credentials

You will require api_id and api_hash to access the Telegram API servers. To learn how to obtain them click here.

Install third party software

Add Python 3.9 and NuGet to your PATH:

  • Open Control Panel -> System -> Advanced system settings.
  • Press Environment Variables....
  • Select Path.
  • Press Edit.
  • Add BuildPath\ThirdParty\Python39 value.
  • Add BuildPath\ThirdParty\NuGet value.

Open x86 Native Tools Command Prompt for VS 2022.bat, go to BuildPath and run

python -m pip install pywin32

Clone source code and prepare libraries

Open x86 Native Tools Command Prompt for VS 2022.bat, go to BuildPath and run

git clone --recursive https://github.com/telegramdesktop/tdesktop.git
tdesktop\Telegram\build\prepare\win.bat

Build the project

Go to BuildPath\tdesktop\Telegram and run (using your api_id and api_hash)

configure.bat -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH -D DESKTOP_APP_USE_PACKAGED=OFF -D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF
  • Open BuildPath\tdesktop\out\Telegram.sln in Visual Studio 2022
  • Select Telegram project and press Build > Build Telegram (Debug and Release configurations)
  • The result Telegram.exe will be located in D:\TBuild\tdesktop\out\Debug (and Release)

Qt Visual Studio Tools

For better debugging you may want to install Qt Visual Studio Tools:

  • Open Extensions -> Manage Extensions
  • Go to Online tab
  • Search for Qt
  • Install Qt Visual Studio Tools extension