2009-10-04 9 views
5

Bei meiner Arbeit befinden sich alle Projektdaten auf einem NFS, auf das sowohl von Linux- als auch Windows-Rechnern (mit Samba) zugegriffen werden kann. Alle Arbeiten werden unter Linux ausgeführt, aber ich spiele mit der Idee, einige Tools für Windows zu kompilieren, damit ich mit Visual Studio debuggen kann.Ist es möglich, Windows-Binärdateien auf einer Linux-Maschine zu kompilieren?

Ich habe bereits ein nettes Makefile, das den Code für 32-Bit oder 64-Bit-Linux mit verschiedenen Zielen erstellen kann. Angenommen, ich habe Windows-Versionen aller externen Bibliotheken irgendwo auf dem NFS, und unter der Annahme, dass der Code sauber genug ist, um unter Windows zu kompilieren, ist es möglich, mein Programm für Windows mit dem vorhandenen Makefile unter Linux zu kompilieren und zu verknüpfen? Im Idealfall möchte ich das Makefile einmal aufrufen und es alle drei 32-Bit-Linux, 64-Bit-Linux und Windows erstellen.

Ein zusätzliches Plus wäre die Option, es mit allen Visual Studio-Metadaten zu kompilieren, um das Debuggen zu vereinfachen.

+0

Binaries ist vorkompilierte Quelle kann kompiliert werden – SomeUser

Antwort

4

Ja, das können Sie beispielsweise mit MinGW erreichen.

Allerdings müssen Sie wahrscheinlich ein oder zwei Optionen in Ihrem Makefile anpassen.

+0

MinGW läuft auf Windows, nicht Linux. Aber es wird zumindest eine native Windows-Anwendung mit den GNU-Tools erstellen, die Linux-Benutzern vertraut sind. Beachten Sie jedoch, dass MinGW die MSVCRT.DLL C-Laufzeit von Microsoft anstelle von GNU libc verwendet. – Clifford

+0

MinGW läuft auch unter Linux. –

+0

MinGW läuft auch unter Linux und wird normalerweise für Linux-> Windows Cross-Compilation verwendet. –

1

Es gibt eine Reihe von Möglichkeiten, kann ich mich vorstellen:

  • Sie könnten versuchen, Visual Studio unter Wine laufen. Wenn Visual Studio nicht ausgeführt wird, können Sie möglicherweise weiterhin die Befehlszeilentools ausführen.

  • Führen Sie eine vollständige Installation von Windows in einer virtuellen Maschine aus. Ich habe das mit Linux unter Windows gemacht, aber nicht umgekehrt, aber ich bin mir sicher, dass es möglich ist.

  • Verwenden VNC einen separaten Windows-PC aus den Linux-PC

  • Sie mit einem Kreuz Build von GCC zuzugreifen statt Visual Studio

+1

Warum die beste Option als letzte auflisten? – gimpf

+0

@gimpf: Gelistet als sie auftraten, und "beste Wahl" ist eine Frage der Meinung. Das OP wollte den Visual Studio-Debugger verwenden, und die letzte Option unterstützt dieses Ziel nicht, daher würde ich sagen, dass es in diesem Fall nicht die Bast-Lösung war. – Clifford

1

Sie benötigen ein Querübersetzbarkeit Paket. Sie können auch die Wine Lib verwenden.