如何编译:Mac上的Synergy(2017年新工具链)

时间:2017-08-23 08:09:55

标签: c++ macos cmake

我知道关于该主题的问题已经存在(How to Compile: Synergy on mac),但看起来2017年1月26日的更改删除了旧的工具链。

他们现在使用cmake来处理构建,但我没有成功在MacOs Sierra上正确构建它(它抱怨assert.h缺少-.-)。如果我通过将/usr/include/添加到包含路径来修复它,则构建会抱怨找不到CoreServices/CoreServices.h

达到这一点我认为我必须遗漏一些对于正确构建它而言至关重要的东西但是什么呢?

我遵循的步骤:

git clone https://github.com/symless/synergy
cd synergy
mkdir build
cd build
cmake ..
make
# there it complains about not finding assert.h  

1 个答案:

答案 0 :(得分:3)

您必须在cmake命令中指定CMAKE_OSX_SYSROOT。这来自Compiling · symless/synergy-core Wiki · GitHub

cmake -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk \
      -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
      -DCMAKE_OSX_ARCHITECTURES=x86_64 ..

您可以保留目标10.9,但更改/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk以匹配系统上的实际路径(如果不同)。