Как скомпилировать: синергия на 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()