Before you start
These instructions support existing UWP projects. Check parameter names in build.ps1 at the referenced revision: the upstream prose and example spell the vcpkg argument differently. The source command is preserved unchanged.
TDLib Universal Windows Platform example
This is an example of building TDLib SDK for Universal Windows Platform and an example of its usage from C#.
Building SDK
- Download and install Microsoft Visual Studio 2017+ with Windows 10 SDK. We recommend to use the latest available versions of Microsoft Visual Studio and Windows 10 SDK.
- Download and install CMake. CMake 3.13 or newer is required.
- Install
zlibandopensslfor all UWP architectures andgperffor x86 using vcpkg:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
git checkout c3867e714dd3a51c272826eea77267876517ed99
.\bootstrap-vcpkg.bat
.\vcpkg.exe install gperf:x86-windows openssl:arm64-uwp openssl:x64-uwp openssl:x86-uwp zlib:arm64-uwp zlib:x64-uwp zlib:x86-uwp
- (Optional. For XML documentation generation.) Download PHP. Add the path to php.exe to the PATH environment variable.
- Download and install 7-Zip archiver, which is used by the
build.ps1script to create a Telegram.Td.UWP Visual Studio Extension. Add the path to 7z.exe to the PATH environment variable. Alternativelybuild.ps1supports compressing using WinRAR with option-compress winrarand compressing using zip with-compress zip. - Build
TDLibusing providedbuild.ps1script (TDLib should be built 6 times for multiple platforms in Debug and Release configurations, so it make take few hours). Pass path to vcpkg.exe as-vcpkg-rootargument, for example:
powershell -ExecutionPolicy ByPass .\build.ps1 -vcpkg_root C:\vcpkg
If you need to restart the build from scratch, call .\build.ps1 -vcpkg_root C:\vcpkg -mode clean first.
- Install Visual Studio Extension "TDLib for Universal Windows Platform" located at
build-uwp\vsix\tdlib.vsix, which was created on the previous step bybuild.ps1script.
After this TDLib can be used from any UWP project, built in Visual Studio.
Alternatively, you can build TDLib as a NuGet package, adding the option -nupkg to the .\build.ps1 script invocation. The resulting package will be placed in the directory build-uwp\nupkg.
Example of usage
The app/ directory contains a simple example of a C# application for Universal Windows Platform. Just open it with Visual Studio 2015 or later and run.
Continue with the TDLib overview. For credentials, follow the API ID and Hash application process. For portal ERROR assistance, contact GetTGAPI support.