鼠標(biāo)共享神器Synergy的編譯打包教程

1、引子
當(dāng)我們有多臺(tái)PC的時(shí)候,往往不想配置多套輸入設(shè)備。最常見的場景是辦公室同時(shí)配置了筆記本和臺(tái)式機(jī),如果它們能公用一套鼠標(biāo)鍵盤就非常方便。Synergy就是實(shí)現(xiàn)這項(xiàng)功能的一個(gè)神器,它支持在多個(gè)PC間共享鼠標(biāo)、鍵盤、剪貼板。同時(shí)它是跨平臺(tái)的,支持Windows、macOS、Ubuntu、CentOS、Fedora、SUSE等主流操作系統(tǒng)。
壞消息是,你去Synergy官網(wǎng)(www.symless.com/synergy)下載時(shí),會(huì)發(fā)現(xiàn)它是收費(fèi)的,29美元起。好消息是,Synergy是開源的,我們自己可以用源碼編譯出可執(zhí)行文件。
我在文末放了我編譯打包好的安裝包,可以直接下載下來安裝。
2、準(zhǔn)備
Synergy代碼倉庫:github.com/symless/synergy-core。
編譯教程:github.com/symless/synergy-core/wiki/Compiling。
打包教程:github.com/symless/synergy-core/wiki/Building-the-Windows-MSI-Package。
按照教程一步步配置好編譯環(huán)境,基本沒有大坑。我在Win10下的配置步驟是:
安裝git
安裝Visual Studio 2019
安裝Windows 10 SDK
安裝Bonjour SDK for Windows
安裝Qt
安裝OpenSSL
安裝CMake
安裝Wix toolchain(打包用到)
需要注意幾點(diǎn):
要安裝git,并且源碼要用git clone拉下來,不能直接下載zip,因?yàn)檫@樣沒有branch記錄,編譯時(shí)找不到版本號(hào)會(huì)報(bào)錯(cuò)。
Qt要按教程寫的安裝Qt5,我開始裝的Qt6,編譯時(shí)才發(fā)現(xiàn)不兼容。
3、編譯打包
我兩臺(tái)電腦都是Win10 x64系統(tǒng),所以我只編譯了這個(gè)版本。其他系統(tǒng)可以按官方教程自行嘗試。
(1)拉取源碼
第一條命令是忽略SSL錯(cuò)誤,因?yàn)槲依创a時(shí)報(bào)錯(cuò)證書問題。
切換到1.14.0分支,這是當(dāng)前最新版本。
(2)修改代碼
可以按自己需要修改代碼,我去除了激活碼驗(yàn)證邏輯,可以使用pro版的TLS功能。另外加了一些漢化。漢化文件是:
(3)修改CMakeLists.txt
這是個(gè)小坑。因?yàn)镸SVC默認(rèn)使用系統(tǒng)編碼GBK,而項(xiàng)目中用的是UTF-8編碼,導(dǎo)致編譯時(shí)不識(shí)別文件中的中文。
修改方法是,在synergy-core/CMakeLists.txt的開頭增加下面兩行:
意思是增加編譯選項(xiàng),指定使用UTF-8編碼。
(4)編譯
可以使用Qt圖形界面編譯,也可以使用命令行編譯。我選擇命令行,因?yàn)楹竺娲虬鼤r(shí)要用命令行。
在synergy-core/build/bin/Release目錄下,可以看到編譯得到的可執(zhí)行程序,synergy.exe。
(5)打包
在synergy-core/build/installer/bin/Release目錄下,可以看到打包的Synergy.msi安裝程序,雙擊安裝。
4、安裝包
我打包的安裝包放到藍(lán)奏云上了:
地址:https://wwr.lanzoui.com/iYpWnqu0s2b
密碼:hxo4
