Telegram 桌面端 Visual Studio 2019 编译 tdesktop 指南

2024-06-23 09:32

本文主要是介绍Telegram 桌面端 Visual Studio 2019 编译 tdesktop 指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编译该项目起初耗时 1 天半(1 个通宵 + 2 个白天),结果还失败了。

然后时隔 3 个月,又尝试重新编译,耗时 1 个白天,编译成功。

坑还是有(fei)点(chang)多的。

不多说了,进入正题。

 

1、准备环境

由于此开源项目较大,编译容易出错,一些第三方软件可能与您已安装的版本相冲突。

所以强烈建议在虚拟机中编译该项目,并保存多个时间点快照。

环境要求:16G 或以上的内存 + VMware + Windows 10 x64 + 网络代理

 

16G 以下的,就不建议在本机编译了,建议找个在线编译平台操作。

我虚拟机拉到 8G 都还是会编译失败,最后是拉到 12G 才勉强编译成功的。

 

先安装好虚拟机,在虚拟机内下载安装 VS 2019 和 Git bash。

 

2、准备编译

前往 tdesktop 的 GitHub 仓库页面。

在 README 中找到 Visual Studio 2019 的编译说明。

本指南按照 May 12, 2020 提交的 building-msvc.md 作为讲述。

实际操作请按照最新提交的 building-msvc.md 执行。

 

Prepare folder

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 2019.bat (should be in Start Menu > Visual Studio 2019 menu folder). Pay attention not to use any other Command Prompt.

首先按照教程开头说明,准备一个编译文件夹,这里就用文中默认的路径 D:\TBuild,后续称之为 BuildPath。

之后的所有命令(除非另有说明)都将在 x86 Native Tools Command Prompt for VS 2019(x86 本机工具命令提示符) 中执行(位于 开始菜单 -> Visual Studio 2019 文件夹中)。

 

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.

api_id: 17349 api_hash: 344583e45741c457fe1862106095a5eb

用于测试的 API 授权信息,非官方编译的第三方 Telegram 版本都需要 API_ID 和 API_HASH 来与 Telegram 官方服务器进行交互。API 可以向 Telegram 官方申请,二次开发的 Telegram 客户端需要遵守 Telegram 的相关规定,否则 API 可能会被封禁。

 

Install third party software

  • Download Strawberry Perl installer from http://strawberryperl.com/ and install to BuildPath\ThirdParty\S

这篇关于Telegram 桌面端 Visual Studio 2019 编译 tdesktop 指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086779

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

ONLYOFFICE 8.1 版本桌面编辑器测评

在现代办公环境中,办公软件的重要性不言而喻。从文档处理到电子表格分析,再到演示文稿制作,强大且高效的办公软件工具能够极大提升工作效率。ONLYOFFICE 作为一个功能全面且开源的办公软件套件,一直以来都受到广大用户的关注与喜爱。而其最新发布的 ONLYOFFICE 8.1 版本桌面编辑器,更是带来了诸多改进和新特性。本文将详细评测 ONLYOFFICE 8.1 版本桌面编辑器,探讨其在功能、用户

Windwos +vs 2022 编译openssl 1.0.2 库

一 前言 先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。 使用qt访问web接口,因为是https,没有openssl库会报错 QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());if (reply){if (reply->error() == QNetworkReply::NoError

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用。如果你看不懂,请留言。 完整代码: <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><ti

Visual Studio中,MSBUild版本问题

假如项目规定了MSBUild版本,那么在安装完Visual Studio后,假如带的MSBUild版本与项目要求的版本不符合要求,那么可以把需要的MSBUild添加到系统中,然后即可使用。步骤如下:            假如项目需要使用V12的MSBUild,而安装的Visual Studio带的MSBUild版本为V14。 ①到MSDN下载V12 MSBUild包,把V12包解压到目录(

打造坚固的SSH防护网:端口敲门入门指南

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 打造坚固的SSH防护网:端口敲门入门指南 前言什么是端口敲门端口敲门的优点1. 增强安全性2. 动态防火墙规则3. 隐匿服务4. 改善日志管理5. 灵活性和兼容性6. 低资源消耗7. 防御暴力破解和扫描8. 便于合法用户访问9. 适用于不同类型的服务 端口敲

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz