Как скомпилировать: синергия на mac

Я хочу использовать Синергия на моем MAC и Windows. скачать файл synergy.zip из https://github.com/synergy/synergy

а затем я пытаюсь скомпилировать проект Xcode

Но я получаю следующее сообщение об ошибке

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

Я не знаю, почему я не могу скомпилировать Synergy.

Вопросы.

  • Что такое - mac-identity?
  • Как ввести команду в терминал на моем MAC?

Ответ 1

Мне удалось получить эту работу над Yosemite с помощью следующей команды:

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

Конечно, это будет работать только при наличии зависимостей. Вы можете установить их с помощью менеджера пакетов Homebrew.

brew install cmake qt

Кроме того, вы захотите создать его с помощью:

./hm.sh build

И, наконец, чтобы установить его, вы получите скомпилированные результаты из папки bin, т.е. Synergy.app.

Ответ 2

У меня есть аналогичная проблема на Йосемите. Возможно, вы можете найти скомпилированную версию в ночных сборках.

Ответ 3

Это не то, как скомпилировать его, но если причина, по которой вы хотите скомпилировать, - это освободить ее, то вы можете просто перейти по этой ссылке: synergy-project.org/download/free/

Он позволяет загружать предыдущие версии синергии (не последнюю), чтобы сохранить дух открытого источника.

Я еще не пробовал.

Ответ 4

Я просто столкнулся с этой проблемой, и решения здесь помогли мне в моих поисках. Я все еще работаю с Йосемити, но Эль Капитан не работает.

Следствием этого является то, что SDK имеет другой путь, так как теперь он может компилироваться для El Capitan.

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

В любое время, когда выйдет новая ОС, было бы логично запустить

xcrun --show-sdk-path

чтобы обновить аргумент.

Что касается ответа на "что такое mac-identity", это параметр для компиляции script, расположенный в 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.

Ответ 5

Для компиляции на OS X 10.10 Yosemite закомментируйте следующие строки, начиная с строки 171 в CMakeLists.txt

#               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()