Frage

Gibt es ein Handbuch für Cross-Kompilieren einer C ++ Anwendung von Linux auf Windows?

Nur, dass. Ich möchte einige Informationen (Links, Referenz, Beispiele ...) mich führen, das zu tun.

Ich weiß nicht einmal wissen, ob es möglich ist.

Mein Ziel ist es, ein Programm in Linux zu kompilieren und eine EXE-Datei, die ich unter Windows ausgeführt werden kann.

War es hilfreich?

Lösung

Die Grundlagen sind nicht allzu schwer:

sudo apt-get install mingw32    
cat > main.c <<EOF
int main()
{
  printf("Hello, World!");
}
EOF
i586-mingw32msvc-cc main.c -o hello.exe

Ersetzen apt-get mit yum, oder was auch immer Ihre Linux-Distribution verwendet. Das wird eine hello.exe für Windows erzeugen.

Wenn Sie Ihren Kopf herumkommen, dass, könnten Sie Autotools und setzen CC=i586-mingw32msvc-cc

CC=i586-mingw32msvc-cc ./configure && make

oder benutzen CMake und eine Werkzeugkette Datei den Build zu verwalten. Noch schwieriger ist das Hinzufügen von nativem Quer Bibliotheken. Normalerweise sind sie in /usr/cross/i586-mingw32msvc/{include,lib} gespeichert und Sie würden in dem configure Schritt des Build-Prozesses in separat diese Pfade hinzufügen müssen.

Andere Tipps

Es hängt davon ab, was Sie meinen (ich konnte nicht wirklich sagen).

  1. Wenn Sie meinen, dass Sie eine vorhandene Linux-Anwendung unter Windows verwenden möchten, dann können Sie versuchen, es kompilieren mit Cygwin unter Windows. Dies ist jedoch nicht geben Ihnen eine ausführbare Windows-Datei frei von allen Abhängigkeiten zu Cygwin (ausführbare Datei hängt noch von der cygwin.dll-Datei) - und es kann noch etwas Portierung benötigen, bevor es funktionieren wird. Siehe http://www.cygwin.com .

  2. Wenn Sie meinen, dass Sie die eigentliche Erstellung einer Windows-Anwendung auf Linux und produzieren eine EXE-Datei, in der Lage sein ausführen wollen, die unter Windows ausgeführt werden kann - damit Ihr Linux-Box für die Entwicklung und / oder Zusammenstellung verwenden, dann Sie sollten MinGW für Linux, die für crosscompiling für Windows auf Linux ist ein Werkzeug. Siehe http://www.mingw.org/wiki/LinuxCrossMinGW .

Mit freundlichen Grüßen!

Ich schlage vor, Sie die folgende geben, GUB (Grand Unified Builder) einen Versuch, wie es Quer compiliert mehrere Pakete mit ihren Abhängigkeiten und montieren sie zu einem einzigen Installationspaket für derzeit 11 Architekturen. Sie können in einer VM von hier und folgen der Quelle hier . Es kann zur Zeit an Quer kompilieren GNU LilyPond / GNU Denemo / Inkscape und OpenOffice.org verwendet werden.

Die Zielarchitekturen sind:

  • Darwin-ppc - tar.bz2 Datei für Darwin 7 (MacOS 10.3) / PowerPC
  • Darwin-x86 - tar.bz2 Datei für Darwin 8 (MacOS 10.4) / x86
  • mingw - mingw ausführbare Datei für Windows32
  • Linux-x86 - shar Archiv für Linux / x86
  • linux-64 - shar Archiv für Linux / x86_64
  • linux-ppc - shar Archiv für Linux / PowerPC
  • freebsd-x86 - shar Archiv für FreeBSD 4 / x86
  • freebsd-64 - shar Archiv für FreeBSD 6 / x86_64
  • Cygwin - .tar.bz2 Pakete für Cygwin / Windows32
  • arm - shar Archiv für Linux / ARM (weitgehend ungetestet)
  • debian - shar Archiv für Debian (weitgehend ungetestet)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top