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代理:
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