#telegram #tdlib #client #build #tdjson #source

sys tdlib-sys

Telegram TDLib 客户端库的系统 crate

2 个不稳定版本

0.2.0 2020年4月21日
0.1.0 2020年4月21日

#13 in #tdlib


用于 tdlib-bindgen

ISC 许可协议

14MB
322K SLoC

C 170K SLoC // 0.1% comments C++ 147K SLoC // 0.0% comments JavaScript 1.5K SLoC // 0.1% comments PHP 1K SLoC // 0.2% comments Java 717 SLoC // 0.2% comments C# 465 SLoC // 0.1% comments Shell 167 SLoC // 0.1% comments Swift 151 SLoC // 0.1% comments PowerShell 133 SLoC Python 87 SLoC // 0.2% comments Visual Studio Solution 71 SLoC Rust 66 SLoC // 0.1% comments

tdlib-sys

build macOS windows bindgen crates.io

Rust 系统crate,用于 Telegram 的 TDLib 客户端库。

构建需要安装 gperf 工具以及以下开发库

  • libssl
  • zlib

需要标准构建工具,以及额外的

  • cmake

以下所有针对 OSX 和 Windows 的构建说明目前仅在 Github 工作流程中测试过,如果您发现针对正常系统的更准确的说明,请随时发送 PR!

动态链接构建

获取源代码

git clone https://github.com/nuxeh/tdlib-sys.git
cd tdlib-sys

Linux

sudo apt install gperf perl build-essential cmake libssl-dev libz3-dev
cargo build

在其他平台上也应可能进行动态链接,但目前尚未测试。

静态链接构建

可以在任何平台上使用 crate 特性 bundled_deps 来使用由相应 sys crate 静态构建的 zlibopenssl

这不需要在宿主系统上安装任何依赖项,因此是构建在 Windows 和 OSX 上的简单解决方案。

这仍然需要标准构建工具,以及以下工具需要安装

  • perl

获取源代码

git clone https://github.com/nuxeh/tdlib-sys.git
cd tdlib-sys

Linux

sudo apt install gperf perl build-essential cmake
cargo build --features bundled_deps

OSX

brew install gperf perl
cargo build --features bundled_deps

Windows

vcpkg.exe install gperf:x86-windows
cargo build --features bundled_deps

依赖项

~1.1–2.6MB
~45K SLoC