diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/csharp/README.md')
-rw-r--r-- | protocols/Telegram/tdlib/td/example/csharp/README.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/protocols/Telegram/tdlib/td/example/csharp/README.md b/protocols/Telegram/tdlib/td/example/csharp/README.md new file mode 100644 index 0000000000..2faa15e12e --- /dev/null +++ b/protocols/Telegram/tdlib/td/example/csharp/README.md @@ -0,0 +1,32 @@ +# TDLib C# example + +This is an example of building TDLib with `C++/CLI` support and an example of TDLib usage from C#. + +## Building TDLib + +* Download and install Microsoft Visual Studio 2015 or later. +* Download and install [CMake](https://cmake.org/download/). +* Install [vcpkg](https://github.com/Microsoft/vcpkg#quick-start) or update it to the latest version using `vcpkg update` and following received instructions. +* Install `zlib` and `openssl` for using `vcpkg`: +``` +C:\src\vcpkg> .\vcpkg.exe install openssl:x64-windows openssl:x86-windows zlib:x64-windows zlib:x86-windows +``` +* (Optional. For XML documentation generation.) Download [PHP](https://windows.php.net/download#php-7.2). Add the path to php.exe to the PATH environment variable. +* Download and install [gperf](https://sourceforge.net/projects/gnuwin32/files/gperf/3.0.1/). Add the path to gperf.exe to the PATH environment variable. +* Build `TDLib` with CMake enabling `.NET` support and specifying correct path to `vcpkg` toolchain file: +``` +cd <path to TDLib sources>/example/csharp +mkdir build +cd build +cmake -DTD_ENABLE_DOTNET=ON -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake ../../.. +cmake --build . --config Release +cmake --build . --config Debug +``` + +## Example of usage + +After `TDLib` is built you can open and run TdExample project. +It contains a simple console C# application with implementation of authorization and message sending. +Just open it with Visual Studio 2015 or 2017 and run. + +Also see TdExample.csproj for example of including TDLib in C# project with all native shared library dependencies. |