# 2020-10-09 #「Synergy」- 编译安装(2.0.0)

注意事项

目前(09/28/2020),建议使用 Barrier(forked from symless/Synergy.html" title="Synergy" class="page">Synergy 产品。

如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。

源码编译安装(Linux)

虽然官网提供编译好的包,但是要付费购买。

详细的编译细节可以参考 Github 仓库中的 Wiki:https://github.com/symless/synergy-core/wiki/Compiling
编译通过的系统:Kali GNU/Linux Rolling、Max OSX 10.12.6

系统环境:Kali GNU/Linux Rolling
Synergy版本:2.0.0

安装依赖,准备,编译,安装:

# 安装依赖(参照文档中的Debian7/8)
apt-get install build-essential cmake libavahi-compat-libdnssd-dev \
		libcurl4-openssl-dev libssl-dev lintian python \
		qt4-dev-tools xorg-dev fakeroot

# 下载源码Github Repo:https://github.com/symless/synergy-core
git clone https://github.com/symless/synergy-core.git
cd synergy-core

# 构建并编译
mkdir build && cd build
cmake ..
make

# 最终编译生成的文件位于build/bin下。

源码编译安装(macOS)

Mac OSX中安装Synergy,依旧是参考Github仓库中的Wiki:https://github.com/symless/synergy-core/wiki/Compiling

系统环境:Max OSX 10.12.6
Synergy版本:2.0.0

安装依赖,准备,编译,安装:

# Install Homebrew

# Install XCode (also available via the Mac App Store)
# You may need to open XCode, go to Preferences, select Locations, and then make sure an option is selected for Command Line Tools.
# Install cmake, Qt, and openssh using Homebrew
brew install cmake
brew install qt
brew install openssh

# Find the path for Qt installation - this should be something like "usr/local/Cellar/qt/4.8.7_2/Frameworks"
brew info qt

# Add the qt installation path from the previous step to the CMAKE_PREFIX_PATH (replace "usr/local/Cellar/qt/4.8.7_2/Frameworks" with the path found in the previous step)

export CMAKE_PREFIX_PATH="usr/local/Cellar/qt/4.8.7_2/Frameworks"

# 下载源码并进入源码目录
git clone https://github.com/symless/synergy-core.git
cd synergy-core
mkdir build
cd build
# 准备
cmake -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk \
	-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_OSX_ARCHITECTURES=x86_64 ..

# 编译
make

安装的二进制程序

在 Synergy-v2.0.0 中包含的程序

synergyc

synergy-core

synergys

常见错误汇总

#1 dns_sd.h: No such file or directory

-Itmp/release -I. -o tmp/release/ZeroconfRegister.o src/ZeroconfRegister.cpp
In file included from src/ZeroconfRegister.cpp:18:0:
src/ZeroconfRegister.h:32:20: fatal error: dns_sd.h: No such file or directory

解决:安装libavahi-compat-libdnssd-dev

#2 make: /usr/lib/x86_64-linux-gnu/qt4/bin/uic: Command not found

......
Entering dir: src/gui
make: Entering directory '/mnt/extra320g/pkg/synergy/src/gui'
/usr/lib/x86_64-linux-gnu/qt4/bin/uic res/MainWindowBase.ui -o ui_MainWindowBase.h
make: /usr/lib/x86_64-linux-gnu/qt4/bin/uic: Command not found
Makefile:497: recipe for target 'ui_MainWindowBase.h' failed
make: *** [ui_MainWindowBase.h] Error 127
make: Leaving directory '/mnt/extra320g/pkg/synergy/src/gui'
Going back to: /mnt/extra320g/pkg/synergy
Error: make -w failed with error: 512

解决:安装libqt4-dev-bin。如果你使用的是其他发行版,可能会使别的名字,可以参考另外一篇文章:《如何查找某个文件所属的软件包》

#3 fatal error: QApplication: No such file or directory

de/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -I../lib/shared -Itmp/release -I. -o tmp/release/main.o src/main.cpp
In file included from src/main.cpp:22:0:
src/QSynergyApplication.h:23:24: fatal error: QApplication: No such file or directory
compilation terminated.
Makefile:561: recipe for target 'tmp/release/main.o' failed
make: *** [tmp/release/main.o] Error 1

原因:因为缺少相关的头文件。
解决:安装libqt4-dev。如果你使用的是其他发行版,可能会使别的名字,可以参考另外一篇文章:《如何查找某个文件所属的软件包》

#4 ERROR: ipc connection error, connection refused

Windows中启动Synergy以后,总是提示:

[2017-10-03T00:12:44] ERROR: ipc connection error, connection refused

解决方法,在服务管理里面,启动 synergy 服务即可:

参考文献

 

 


posted @ 2020-10-09 11:04  研究林纳斯写的  阅读(892)  评论(0编辑  收藏  举报