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. 2022年3月核心库MySQL优化总结

    2021年9月底到新公司,公司核心数据库,以前无专业DBA维护,问题多,隐患大,到2022年2月持续后,优化至今: 优化大项: 1,从1主3从,扩容到1主5从,将部分读放都另外新加从库   2,最大表 ...

  2. 我的小程序之旅五:微信公众号扫码登录PC端网页

    代码仓库:https://gitee.com/wlovet/gzh-qrlogin 一.准备材料 1.已认证的公众号(必须为服务号,订阅号没有该接口的权限) 2.一个网址,用于微信回调,推荐一个内网穿 ...

  3. 【LeetCode链表#8】翻转链表(双指针+递归)/K个一组翻转

    翻转链表 力扣题目链接(opens new window) 题意:反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-> ...

  4. Javascript之Object、Array

    Object.keys 对象的键转化为数组 Object.values 对象的属性值转化为数组 Object.assign 对象的合并   Array.from() 伪数组对象的属性值转化为数组.类似 ...

  5. 【Azure 媒体服务】记录一个简单的媒体视频上传到Media Service无法播放问题

    问题描述 从本地上传到Azure Media Service Portal的视频,并且新增定位符后,无法播放.但是上传的其他视频是可以的.疑惑中!! 问题自查 自查发现,是视频的文件名中有个特殊符号. ...

  6. 【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误

    问题描述 在Azure中创建Function App(函数应用), 用以运行Python代码(Python Version 3.7). 通过VS Code创建一个HttpTrigger的Functio ...

  7. GDB调试入门笔记

    目录 What? Why How 安装GDB 安装命令 查看是否安装成功 调试简单的程序 预备一个程序 调试 使用 break info list next print step 一些小技巧 在gdb ...

  8. 远程服务调用(RPC与Rest本质区别)

    一.背景 远程服务将计算机程序的工作范围从单机扩展到网络,从本地延伸至远程,是构建分布式系统的首要基础.远程服务调用(Remote Procedure Call,RPC)在计算机科学中已经存在了超过四 ...

  9. Fiddler修改响应体

    方法1 将请求从左侧列表中,拖入AutoResponder中. 然后右键规则,点击编辑 修改后点击save 方法2 在AutoResponder中选择Create New Response也可类似方式 ...

  10. linux vs code extension C# `GLIBC_2.27' not found

    settings中omnisharp:useModernNet改为true reboot虚机