Frage

Ich bin auf der Suche nach einer Möglichkeit, eine doppelte ausführbare Datei für Windows / Mac zu machen. Das heißt, ich kann die Datei entweder OS ausführen und es würde einiges Stück Code ausführen, die ich für das O soll. Dieser Code kann entweder ein Skript oder (vorzugsweise) nativ kompilierten Code, aber es braucht, ohne dass irgendwelche zusätzlichen Tools oder Bibliotheken installiert auf dem Vanille-OS laufen. Die andere Voraussetzung ist, es braucht eine einzelne Datei sein.

Wer weiß einen Weg, dies zu tun oder ist das überhaupt möglich?

War es hilfreich?

Lösung

Die einzige Art, wie ich diese Arbeiten sehen kann, ist mit zusätzlichen Tools installiert:

  • Scripts: Der Befehl Parser ist extrem unterschiedlich zwischen dem Mac (Bash-Shell) und Windows (der 2 hat: Powershell und das Original, nicht wissen, ihre technischen Namen). Sie würden entweder Services für Unix / Cygwin / Insert-other-Unixy-Environment hier installiert auf dem Windows-Rechner haben, oder so etwas wie Perl oder eine andere Skriptsprache verwenden. In jedem Fall bei mindestens die Box Windows und möglicherweise der Mac, müssen zusätzliche Out-of-Box-Tools.
  • Executables: Die einzige Möglichkeit, dies hinkriege ist Java, .NET / Mono oder eine andere Cross-Plattform-Bytecode-basierte virtuelle Maschinenumgebung zu verwenden. Somit sind Sie immer noch abhängig von Werkzeugen, die nicht in-Box sind. (IIRC, Java nicht mit Windows gesendet und Mono nicht mit Mac versenden.)
  • Andere Probleme: Das größte Problem, das Sie in nach Umgang mit dem Werkzeug Abhängigkeit führen, ist, dass Pfade unterschiedlich auf beiden Systemen identifiziert werden. im allgemeinen Unix-Pfade zu verstehen, dass Mac Pfade sind (obwohl ich „old-school“ Mac Semikolon getrennte Pfade sind nach wie vor gültig glauben). Sie werden auch mit unterschiedlichen Dateispeicherorte und Standardpositionen basierend auf beiden Umgebungen beschäftigen. Dies wird ein Schmerz sein.

Wenn Sie nun einen Quer kompiliert statt Binär-Kompatibilität mit der Verwendung wegkommen können, können Sie eine Antwort in einem Werkzeug namens Realbasic. Es war ursprünglich Mac-basierte, aber es gibt Versionen für Windows und Linux als auch. Früher habe ich mit ihm in der ersten Hälfte dieses Jahrzehnts zu spielen, um, und es war recht ordentlich, aber nicht etwas, das ich jemals professionell eingesetzt. Dies wird , wenn Sie vorsichtig, können Sie den Code einmal schreiben und den gleichen Code wie nativer Mac, Linux und Windows-Anwendungen kompiliert werden.

Andere Tipps

In einem Skript ist alles in Ordnung, aber in einem kompilierten Code wird es unmöglich sein, weil die ausführbare Windows-Datei (exe) aus den Mac ausführbaren Dateien unterschiedlich ist (sind), die von dem Linux-Executables unterschiedlich sind (was auch immer Sie wollen).

Solange Sie eine plattformübergreifende Sprache wie Java verwenden Sie es auf beiden OS laufen kann. Native Code wird jedoch nicht ausführbar sein.

Es gibt nichts Vergleichbares zwischen den beiden. Kein Programm oder Skript in jeder Sprache laufen würde genau das gleiche auf beiden Maschinen ohne weitere Anforderungen wie zum Beispiel eines bash-Interpreter für Windows zum Beispiel.

Mono oder Java kann auf einem Mac und laufen Programme installiert werden Cross-Plattform sein. Ohne diese Art von Spezialbibliothek mehrere Plattformen zu unterstützen, gibt es keinen gemeinsamen Nenner und keine Möglichkeit, die gleiche Anwendung auf beide laufen.

Nicht genau das, was Sie wollen, aber vielleicht bemerkenswert:

Sie können Cocotron Programme in Obj-C unter Verwendung von Cocoa geschrieben kompilieren für Fenster. Funktioniert sehr gut! Das wird Ihnen nicht eine ausführbare Datei für Mac und Windows, aber eine für den Mac und eine für Windows.

Sie möchten vielleicht Realbasic überprüfen. Es ist eine VB-Klon Sprache mit einer IDE. Es wird ausführbare Dateien für Windows, Mac und Linux bauen. realbasic.com

Sie sollten erwägen bei starkits suchen, die mit Tcl / Tk arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top