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

相关文章

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统