0.环境准备,我使用的VS版本是17.9.4,SDK版本是10.0.22621.0,最好不要用太老的版本

1.去下载Python,git,cmake这三个工具,然后在D盘根目录新建TBuild文件夹,里面再建Libraries和ThirdParty这两个文件夹

下载地址:

Python3.10:https://www.python.org/downloads/

Git:https://git-scm.com/download/win

cmake2.21及以后版本:https://cmake.org/download/

2.把这三个工具放进ThirdParty这个文件夹内

3.去区域设置里勾上UTF-8编码,搜索框里输区域就能找到

4.在cmd中进入TBuild文件夹下,使用git获取telegram,命令如下:

git clone --recursive https://github.com/telegramdesktop/tdesktop.git
下载好后会自动新建一个tdesktop的文件夹
网络不好的话可以设置代理:
cmd代理:set http_proxy=http://127.0.0.1:1234; set https_proxy=http://127.0.0.1:1234; 端口号根据实际填写
git代理:git config --global http.proxy localhost:1234; git config --global https.proxy localhost:1234
也可以去git地址下载源码

5.打开vs的X86编辑器,我编译的是32位的telegram,如果编译64位可能有些步骤会有区别

6.进入图中的文件夹,运行win.bat命令,然后就会自动下载所需的工具和第三方库,一共有28个

7.过程中可能会遇到下载失败的情况,这个时候会出现r重构,a全部重构,s跳过,p打印,q退出这几种选项,如果对自己编译能力不是特别有信心,那就不要自己去编译,选择重构。因为有些组件前后存在联系,所以最好按顺序编译。

成功了的话就会显示SKIPPING,程序会自动跳过,需要手动输命令一般都是编译失败了,不过自己手动编译了的话也需要输命令跳过

8.全部编译成功就是下图这个样子

9.然后进入图中的文件夹进行构建,输入以下命令,命令中的api_id和api_hash是官方提供的示例,自己有的话可以替换成自己的

configure.bat -D TDESKTOP_API_ID=17349 -D TDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb

10.构建成功的话会在out文件夹里出现sln文件,点击就能进入vs22里开始编译了

10.编译成功的样子

11.可能会遇到C1128这个错误,在报错的项目内的图中位置加上 /bigobj就可以了

如果还遇到了其他问题,欢迎在评论区讨论

参考文章:tdesktop/docs/building-win.md at dev · telegramdesktop/tdesktop · GitHub

24年3月使用VS22编译Telegram Desktop的更多相关文章

  1. 源码编译Redis Desktop Manager ---(转载)

    精美文章转载: 版权声明:本文作者为「Kany.Wang」,本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议.转载请注明出处!原文链接:https://kany.me/20 ...

  2. 源码编译Redis Desktop Manager | 懒人屋

    原文:源码编译Redis Desktop Manager | 懒人屋 源码编译Redis Desktop Manager  2.3k  字    10  分钟    2019-10-10 文章背景 本 ...

  3. 10.24的注意事项——解决linux_jni编译错误的问题

    公司以opus开源库.因此,我们遇到了一些问题. 我将新下载的opus1.1替换掉老版本号之后,单独编译opus没问题.但是编译相关的文件就会报错. 错误信息例如以下: g++ -Wall -fPIC ...

  4. premake 在64位Ubuntu系统下编译32位GCC程序

    首先,要安装GCC 4.8, 参考前文:Ubuntu 12.04 & 13.04 安装 GCC4.8.1 其中,重点是安装multilib apt-get install gcc-4.8-mu ...

  5. hadoop2.2.0 centos 编译安装详解

    http://blog.csdn.net/w13770269691/article/details/16883663 废话不讲,直切正题. 搭建环境:Centos x 6.4 64bit 1.安装JD ...

  6. QT编译./configure参数的详细解释

    可以随便的转载,只要按照规矩走带上咱论坛的链接就好. ======================================全文是按照./configure -help来翻译的========= ...

  7. CentOS自行编译升级Git

    上一篇升级Git的方式是通过更改yum的源,然后通过yum来安装,那么对于喜欢折腾的人来说,怎么通过Git的源代码自行安装呢? 我安装的是CentOS-7-x86_64-1908,自带的git是1.8 ...

  8. Android源码分析(四)-----Android源码编译及刷机步骤

    一 : 获取源码: 每个公司服务器地址不同,以如下源码地址为例: http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx svn环境执行: ...

  9. 使用uncompyle2直接反编译python字节码文件pyo/pyc

    update:在Mac OS X版的September 10, 2014版(5.0.9-1)中发现安装目录中的src.zip已更换位置至WingIDE.app/Contents/Resources/b ...

  10. Chromium Embedded Framework 中文文档(简介)

    转自:http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html 简介 Chromium Embedded Framework ...

随机推荐

  1. 超简单JSP人员信息管理系统(适合新手练手用)

    自己以前闲着没事写的JSP小项目,适合刚学完JSP拿来练手的朋友. 源码地址: https://github.com/mudfish/userManager 项目说明: 软件需求: 开发工具:ecli ...

  2. Linux后台进程启停脚本模板

    目录 启动脚本 停止脚本 在Linux上启动程序后台运行时,往往需要输入一堆复杂的命令,为了能快速编写一个完善的启动脚本,整理一个通用的启停脚本模板如下. 脚本支持从任意位置执行,不存在路径问题,启动 ...

  3. Vulnhub内网渗透DC-6靶场通关

    个人博客 xzajyjs.cn IP DC-6: 192.168.168.4 Kali: 192.168.168.5 信息搜集 arp-scan -l # nmap -sn 192.168.168.0 ...

  4. 统信UOS系统开发笔记(一):国产统信UOS系统搭建开发环境之虚拟机安装

    前言   开发国产应用,需要使用到统信UOS系统,之前已经开发过国产银河麒麟V4.V7和V10版本了,本次新项目使用到统信UOS,记录UOS虚拟机安装流程,方便快捷进行相关开发工作.   提前准备 V ...

  5. logstash部署及项目日志输出到ES

    目录 logstash简介 安装logstash logstash的基本语法 测试标准输入输出 测试输出到文件 测试输出到ES 指定配置文件启动 配置文件内容 后台运行脚本 参考 logstash简介 ...

  6. JS中Date和时间戳转换

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  7. 【Azure Key Vault】在Alteryx中使用Azure Key Vault存储账号和密码并实现无交互登录

    问题描述: 需要在Alteryx中使用Azure Key Vault, Alteryx 能将数据发布到 Tableau,需要输入账号和密码,使用Azure Key Vault来替换这个输入账号和密码的 ...

  8. 【Azure 环境】如何解决Principal 2330xxxxxxxxxxxxxxxxxxxx31efc5 does not exist in the directory xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx问题

    问题描述 在使用 Key Vault 和 Azure CLI 管理存储帐户密钥的官方文档中,其中有一步是"向 Key Vault 授予对你的存储帐户的访问权限", 其中CLI命令中 ...

  9. 使用beyond compare或kompare作为git的对比、合并工具

    两种方法 方法1: 直接使用命令 # 执行下面命令,参看支持对比合并工具名称,比如bc就是指beyond compare(收费软件,推荐使用开源的kompare) $ git difftool --t ...

  10. vivo 在离线混部探索与实践

    作者:来自 vivo 互联网服务器团队 本文根据甘青.黄荣杰老师在"2023 vivo开发者大会"现场演讲内容整理而成. 伴随 vivo 互联网业务的高速发展,数据中心的规模不断扩 ...