2017-06-21 3 views
-4

Ich erzeuge eine ausführbare Datei auf macOS und jetzt möchte ich sie unter Linux ausführen.Wie man eine ausführbare Datei erzeugt, die sowohl auf macOS als auch unter Linux laufen kann

Ich habe bereits mein Makefile und ich benutze das, um die ausführbare Datei auf macOS (mit gcc) zu machen. Aber wenn ich es unter Linux ausführe, bekomme ich eine Fehlermeldung: "./executable: kann keine Binärdatei ausführen". Kann mir jemand helfen, dieses Problem zu lösen?

+2

Dies ist nicht möglich. Erstellen Sie zwei verschiedene ausführbare Dateien. –

+0

Sie sollten diese Frage in einer Form stellen, die sowohl ein gültiger englischer Satz als auch ein gültiger deutscher Satz ist. – Ssswift

Antwort

0

Sie müssen die ausführbare Datei erneut unter Linux kompilieren, um eine Binärdatei zu erstellen, die unter Linux läuft. Sofern Sie keine Cross-Compile-Umgebung für Linux auf MacOSX eingerichtet haben (die Verwendung von Linux in einer virtuellen Maschine ist jedoch einfacher), dann könnten Sie dort für Linux kompilieren.

In jedem Fall werden Sie mit 2 verschiedenen Binärdateien enden. Sie können keine einzelne Binärdatei erstellen, die sowohl unter Linux als auch unter MacOSX ausgeführt werden kann.

+0

Danke! Muß ich in diesem Fall das Makefile ändern? – dongxin

+0

@dongxin Möglicherweise habe ich keine Ahnung, wie Ihr Makefile aussieht. Wenn es sehr einfach ist und im Grunde nur gcc aufruft, dann könnte es für beide funktionieren. Wenn es komplizierter als das ist, weil z.B. Sie müssen Shared Libraries des Systems und so verbinden, dann müssen Sie möglicherweise das Makefile ändern, damit es findet, was es auf beiden Systemen benötigt (oder machen Sie ein getrenntes Makefile für jedes System, wenn Sie das vorziehen). – Jay

+0

Vielen Dank! Ich werde es dann versuchen. – dongxin

Verwandte Themen