如何在Mac上编译Synergy

11

我想在我的MAC和Windows上使用Synergy。从https://github.com/synergy/synergy下载synergy.zip文件。

然后尝试对Xcode项目进行编译

但是我收到以下错误信息:

bash-3.2# ./hm.sh conf -g2
Mapping command: conf -> configure
Error: Arg missing: --mac-identity

我不知道为什么我无法编译Synergy。

问题。

  1. --mac-identity是什么?
  2. 如何在我的MAC上输入终端命令?
5个回答

15

我能够使用以下命令在Yosemite上使其工作:

./hm.sh conf -g2 --mac-sdk 10.10 --mac-identity Yosemite

当然,这仅在您拥有依赖项的情况下才有效。您可以使用Homebrew包管理器来安装它们。

brew install cmake qt

此外,你需要使用以下内容构建它:

./hm.sh build

最后,为了安装它,您需要从bin文件夹中获取已编译的结果,即Synergy.app


你可以考虑提交一个公式或类似的东西来解决这个问题。我认为很多人都希望能够像以前一样通过 brew install synergy 来安装最新版本,因为他们现在已经禁止免费下载二进制文件了。我知道有很多人对项目的发展方向感到不满意。 - ylluminate
1
可能是个好计划,希望在接下来的几周里能找到时间来考虑把它实现。 - c1phr
曾经可以工作,但从5月5日开始就无法工作了:以下构建命令失败: CompileC build/src/lib/plugin/ns/synergy.build/Release/ns.build/Objects-normal/i386/SecureSocket.o src/lib/plugin/ns/SecureSocket.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler - K_T
1
@anon58192932 我遇到了相同的构建问题,而不是编译问题。你用qt4进行了编译,对吗? - bizentass
2
@bizentass 我刚刚还原了一个我找到的预编译的旧二进制文件。我在我的Linux机器上运行1.8.4或者最新版本,因为它是Ubuntu PPAs的一部分。而在我的Mac上,我使用1.5.3或者接近这个版本。完全没有兼容性问题。简而言之 - 放弃在Mac上编译,你不需要最新版本 :) - fIwJlxSzApHEZIl
显示剩余2条评论

6

我在Yosemite操作系统上遇到了类似的问题。也许你可以在夜间构建版本中找到已编译的版本。


有趣。我之前一直在寻找它们,但在那些散落的链接中没有看到过。看起来这已经被半近期更新了。谢谢! - ylluminate
显然,由于他不希望我们拉取预编译版本,那些功能再次被禁用了。 - ylluminate

2

我刚遇到了这个问题,这里的解决方案帮助了我。我仍在使用 Yosemite ,但 El Capitan 已经发布。

因此,SDK的路径不同,因为它现在可以编译 El Capitan

sh ./hm.sh config -g2 --mac-sdk 10.11 --mac-identity Yosemite # My answer

每当有一个新的操作系统发布时,运行它是很合理的。

xcrun --show-sdk-path

需要更新参数。

至于“mac-identity”是什么,它是位于ext/toolchain/commands1.py的编译脚本中的一个参数,用于代码签名:

    err = os.system('codesign --deep -fs "' + self.macIdentity + '" Synergy.app') 

在830行左右。

BoldAsLove是正确的,这些行必须被注释掉(或删除)。

#               if (NOT (OSX_TARGET_MAJOR EQUAL 10))
#                       message(FATAL_ERROR "Mac OS X target must be 10.x")
#               endif ()

此外,qmake被存储在

/opt/local/libexec/qt5-mac/bin/qmake

但这可能是MacPorts的一个小问题。

感谢您提供全面且具有未来性的答案! - Bon

2
这不是编译的方法,但如果你想编译它只是为了免费使用,那么你可以直接访问此链接:synergy-project.org/download/free/。它允许您下载以前的synergy版本(而不是最新版本),这种做法有点类似于保持开源精神。虽然我没有尝试过。

现在Mac下载链接出现404错误。可能是暂时性的问题。但是1.4.x和1.8.3之间有什么区别?哪个是最新的免费版本? - fIwJlxSzApHEZIl

1
要在OS X 10.10 Yosemite上编译,请在CMakeLists.txt文件中从第171行开始注释掉以下行。
#               if (NOT (OSX_TARGET_MAJOR EQUAL 10))
#                       message(FATAL_ERROR "Mac OS X target must be 10.x")
#               endif ()

#               if (OSX_TARGET_MINOR LESS 6)
                        # <= 10.5: 32-bit Intel and PowerPC
#                       set(CMAKE_OSX_ARCHITECTURES "ppc;i386"
#                               CACHE STRING "" FORCE)
#               else()
                        # >= 10.6: Intel only
                        set(CMAKE_OSX_ARCHITECTURES "i386"
                                CACHE STRING "" FORCE)
#               endif()

即使我注释掉那段代码,我仍然遇到了不同的错误。以下构建命令失败: CompileC build/src/lib/platform/synergy.build/Release/platform.build/Objects-normal/i386/OSXClipboard.o src/lib/platform/OSXClipboard.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 失败) - fIwJlxSzApHEZIl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接