24年3月使用VS22編譯Telegram Desktop

蜂蜜2000發表於2024-03-30

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

相關文章