我想在我的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。
问题。
答案 0 :(得分:15)
我能够使用以下命令在Yosemite上工作:
./hm.sh conf -g2 --mac-sdk 10.10 --mac-identity Yosemite
当然,只有拥有依赖项,这才有效。您可以使用Homebrew package manager安装它们。
brew install cmake qt
此外,您还希望使用以下内容构建它:
./hm.sh build
最后,要安装它,您将从bin
文件夹中获取已编译的结果,即Synergy.app
。
答案 1 :(得分:6)
我在约塞米蒂有类似的问题。也许你可以找到编译版本in the nightly builds。
答案 2 :(得分:2)
这不是如何编译它,但如果你想编译的原因是让它免费,那么你可以转到这个链接:synergy-project.org/download/free/
它允许您下载以前版本的synergy(不是最后一个版本),以保持开源精神。
我还没试过。
答案 3 :(得分: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的怪癖。
答案 4 :(得分: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()