使用VS2015编译Synergyd历程,解决Synergd.exe占用CPU高的问题

来源:互联网 发布:江西省网络诈骗 编辑:程序博客网 时间:2024/06/09 21:35

Synergy简介


功能:

同一局域网中多台机器共享一套键盘鼠标,支持Windows、Linux、MAC设备,鼠标键盘物理连接的机器做服务器端,其他机器做客户端程序,在服务器端对各台机器进行简单配置,在客户端输入服务器端IP地址或网络名,即可体验其强大功能。


特点:

开源、配置简单、功能强大


结构:

synergy.exe - 主程序,或者说是synergy的UI配置程序

synergys.exe - 服务器端程序,配置为服务器端的电脑,该进程会常驻内存

synergyc.exe - 客户端程序,配置为客户端的电脑,该进程会常驻内存

synergyd.exe - 看门狗服务,此服务关闭后,一段时间内,还可以实现鼠标键盘的共享,但是过了这段时间,服务器和客户端将断开连接(暂时没有深入研究内部的细节)


有关Synergy的更多细节,网上已经有很多介绍,这里不再赘述。


编译动机

鄙人已经与Synergy相处两年有余,由于其种种有点,经常在公司推荐与他人使用,屡屡获赞,近期偶然发现测试机卡慢,用任务管理器一探究竟,猛然发现,居然是神器(Synergy)在作怪,服务程序(synergyd.exe)独占一个CPU内核,鄙人公司用的测试机还是双核的,有些甚至是单核的。于是决定重新编译一下Synergyd.exe,其他进程暂时未发现异常,暂不处理。


准备工作

手头有VS2012、据github介绍。需要装VS2015、Qt5.6、CMake、Python、Wix、Bonjour SDK,进行种种配置,于是乎,开始安装VS2015(整整一天呐@_@)

安装Qt,最后发现这些东西用到的不多,此处省略吐槽一万次。。。

步入正题:

1、下载最新的Synergy源码

2、VS任意一个版本(鄙人对VS还算比较熟悉,也是因为之前的误导,体验了一下VS2015)

3、如果不喜欢VS,可以使用其他任意一款C++编译工具(本文只谈VS的编译过程,其他编译工具可能有所差别)

4、CMake


操作步骤

1、CMake和源码解压

2、CMake Bin 目录下执行gui程序

3、将源码位置配置到CMake中,然后执行Configure,然后选择输出项目类型


4、选择合适的编译器,点Finish


5、点击Generate,生成项目文件


6、到输出目录找到 synergy.sln 在vs中打开项目

7、修改项目属性 ->配置属性->常规->平台工具集->Visual Studio 2015 - Windows XP (v140_xp)

8、修改项目属性 ->配置属性->C/C++->代码生成->运行库->多线程(/MT)  (取消连接运行时)

9、按照步骤7、 8 修改所有依赖项目,详细参考依赖项目说明。

10、编译方式使用Release编译

11、修改代码后,即可编译出自己想要的Synergy了大笑 


synergyd依赖项目

synergy
platform
net
mt
ipc
io
common
base
arch
client


本次探索还是要网上各位大神的指导,让我快速了解了CMake、Qt等强大的工具,写此文也是想回馈广大网友,由于个人水平有限,文采也不好,还请大神们路过轻拍,如果有描述的不对的,还请多多指点!

同时,本文只是对守护服务程序Synergyd.exe进行了修改编译,解决了CPU占用高的缺陷,测试未发现异常。针对系统为Windows系统,对于Linux和Mac平台的编译本文不涉及。


1 0
原创粉丝点击