2014-11-14 12 views
10

Ich möchte Synergy auf meinem MAC und Windows verwenden. Download synergy.zip Datei von https://github.com/synergy/synergyWie kompilieren: Synergie auf Mac

und ich versuche dann zu zu Xcode Projekt kompilieren

aber ich bekomme die folgende Fehlermeldung

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

Ich weiß nicht, warum kann ich nicht Kompilieren Sie Synergy.

Fragen.

  1. Was ist --mac-Identität?
  2. Wie erstelle ich Befehl an Terminal auf meinem MAC?

Antwort

15

konnte ich diese Arbeit auf Yosemite mit dem folgenden Befehl erhalten:

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

Natürlich, das Sie die Abhängigkeiten gegeben nur funktionieren wird. Sie können sie mit der Homebrew package manager installieren.

brew install cmake qt 

Zusätzlich sollten Sie es bauen mit:

./hm.sh build 

Und schließlich zu installieren, müssen Sie die erarbeiteten Ergebnisse aus dem bin Ordner erhalten, das heißt Synergy.app.

+0

Sie könnten darüber nachdenken, eine Formel oder eine solche zu übermitteln. Ich denke, dass viele Leute jetzt einfach "brew install synergy" als neueste Version verwenden möchten, da sie das binäre Herunterladen ohne Bezahlung verhindert haben. Ich kenne eine Reihe von Leuten, die im Moment mit der Leitung des Projekts nicht gerade glücklich sind. – ylluminate

+1

Wahrscheinlich ein guter Plan, hoffentlich werde ich in den kommenden Wochen etwas Zeit finden, um das zusammenzusetzen. – c1phr

+0

Leider ist er deaktiviert die nächtlichen Builds wieder, so dass unsere einzige Option ist die Kompilierung. – ylluminate

6

Ich habe das ähnliche Problem auf Yosemite. Vielleicht finden Sie eine kompilierte Version in the nightly builds.

+0

Interessant. Ich war auf der Jagd nach diesen, aber ich sah sie nicht in den Verbindungen, die herumschwebten. Es scheint, dass dies vor kurzem aktualisiert wurde. Vielen Dank! – ylluminate

+0

Offenbar sind diese wieder deaktiviert, da er nicht möchte, dass wir vorkompilierte Versionen ziehen. – ylluminate

2

Dies ist nicht, wie es zu kompilieren, aber wenn der Grund, warum Sie kompilieren wollen, ist es frei zu haben, dann können Sie einfach auf diesen Link gehen: synergy-project.org/download/free/

Es ermöglicht Ihnen, frühere Versionen von Synergie zum Download (nicht der letzte), um den Geist der Open Source zu bewahren.

Ich habe es jedoch nicht versucht.

+0

404 auf dem Download-Link für Mac jetzt. Wahrscheinlich vorübergehend. Aber es ist 1.4.x im Vergleich zu 1.8.3? ist die Lats kostenlose Version? – anon58192932

1

Um auf OS X 10.10 Yosemite kompilieren, kommentieren Sie die folgenden Zeilen in Zeile aus 171 in 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() 
+0

Ich bekomme einen anderen Fehler, auch nachdem ich diesen Code kommentiert habe. 'Die folgenden Build-Befehle sind fehlgeschlagen: \t CompileC Build/src/lib/Plattform/synergy.build/Release/Plattform.build/Objects-normal/i386/OSXClipboard.o src/lib/plattform/OSXClipboard.cpp normal i386 C++ com.apple.compilers.llvm.clang.1_0.compiler (1 Fehler) ' – anon58192932

2

ich nur in dieses Problem lief, und die Lösungen hier half mir auf meiner Suche zu starten. Ich laufe immer noch Yosemite, aber El Capitan ist out.

Die Folge davon ist, dass SDK hat einen anderen Weg, da sie nun in der Lage ist zu kompilieren für El Capitan.

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

Jedesmal, wenn ein neues Betriebssystem heraus ist, wäre es logisch,

xcrun --show-sdk-path 

zu aktualisieren, das Argument zu laufen.

Was die Antwort auf "Was ist Mac-Identität", es ist ein Parameter an das Skript Kompilierung befindet sich auf ext/Toolchain/commands1.py, die sie verwendet, um Co-Design:

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

irgendwo entlang der Linie 830.

BoldAsLove ist richtig, dass diese Zeilen kommentiert werden müssen (oder gelöscht)

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

Außerdem wurde Qmake gespeichert in

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

aber das ist wahrscheinlich eine Macports Marotte.

+0

Vielen Dank für die gründliche und die Zukunft - sichere Antwort! – Bon