鼠标共享神器Synergy的编译打包教程

1、引子
当我们有多台PC的时候,往往不想配置多套输入设备。最常见的场景是办公室同时配置了笔记本和台式机,如果它们能公用一套鼠标键盘就非常方便。Synergy就是实现这项功能的一个神器,它支持在多个PC间共享鼠标、键盘、剪贴板。同时它是跨平台的,支持Windows、macOS、Ubuntu、CentOS、Fedora、SUSE等主流操作系统。
坏消息是,你去Synergy官网(www.symless.com/synergy)下载时,会发现它是收费的,29美元起。好消息是,Synergy是开源的,我们自己可以用源码编译出可执行文件。
我在文末放了我编译打包好的安装包,可以直接下载下来安装。
2、准备
Synergy代码仓库:github.com/symless/synergy-core。
编译教程:github.com/symless/synergy-core/wiki/Compiling。
打包教程:github.com/symless/synergy-core/wiki/Building-the-Windows-MSI-Package。
按照教程一步步配置好编译环境,基本没有大坑。我在Win10下的配置步骤是:
安装git
安装Visual Studio 2019
安装Windows 10 SDK
安装Bonjour SDK for Windows
安装Qt
安装OpenSSL
安装CMake
安装Wix toolchain(打包用到)
需要注意几点:
要安装git,并且源码要用git clone拉下来,不能直接下载zip,因为这样没有branch记录,编译时找不到版本号会报错。
Qt要按教程写的安装Qt5,我开始装的Qt6,编译时才发现不兼容。
3、编译打包
我两台电脑都是Win10 x64系统,所以我只编译了这个版本。其他系统可以按官方教程自行尝试。
(1)拉取源码
第一条命令是忽略SSL错误,因为我拉源码时报错证书问题。
切换到1.14.0分支,这是当前最新版本。
(2)修改代码
可以按自己需要修改代码,我去除了激活码验证逻辑,可以使用pro版的TLS功能。另外加了一些汉化。汉化文件是:
(3)修改CMakeLists.txt
这是个小坑。因为MSVC默认使用系统编码GBK,而项目中用的是UTF-8编码,导致编译时不识别文件中的中文。
修改方法是,在synergy-core/CMakeLists.txt的开头增加下面两行:
意思是增加编译选项,指定使用UTF-8编码。
(4)编译
可以使用Qt图形界面编译,也可以使用命令行编译。我选择命令行,因为后面打包时要用命令行。
在synergy-core/build/bin/Release目录下,可以看到编译得到的可执行程序,synergy.exe。
(5)打包
在synergy-core/build/installer/bin/Release目录下,可以看到打包的Synergy.msi安装程序,双击安装。
4、安装包
我打包的安装包放到蓝奏云上了:
地址:https://wwr.lanzoui.com/iYpWnqu0s2b
密码:hxo4
