Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Kompilieren für Windows

Siehe auch

Diese Seite beschreibt, wie man den Windows-Editor und Exportvorlagen-Binärdateien aus dem Quellcode kompiliert. Wenn Sie Ihr Projekt stattdessen nach Windows exportieren wollen, lesen Sie Exportieren für Windows.

Anforderungen

Zum Kompilieren unter Windows ist Folgendes erforderlich:

  • Visual Studio Community, Version 2017 oder höher. VS 2019 wird empfohlen. Stellen Sie sicher, dass Sie "Einschränkungen bei der Installation von Visual Studio" unten lesen, sonst müssen Sie das Installationsprogramm erneut ausführen/herunterladen.

  • MinGW-w64 mit GCC kann als Alternative zu Visual Studio verwendet werden. Stellen Sie sicher, dass Sie es so installieren/konfigurieren, dass das posix-Thread-Modell verwendet wird. Wichtig: Wenn Sie MinGW verwenden, um den master-Branch zu kompilieren, benötigen Sie GCC 9 oder höher.

  • Python 3.6+. Stellen Sie sicher, dass die Option, Python zum ``PATH`` hinzuzufügen, im Installationsprogramm aktiviert ist.

  • SCons 3.0+-Buildsystem. Es wird empfohlen, das neueste Release zu verwenden, insbesondere für die korrekte Unterstützung der neuesten Visual Studio-Releases.

Bemerkung

Wenn Sie Scoop installiert haben, können Sie MinGW und andere Abhängigkeiten einfach mit dem folgenden Befehl installieren:

scoop install gcc python scons make mingw

Bemerkung

Wenn Sie MSYS2 installiert haben, können Sie MinGW und andere Abhängigkeiten einfach mit dem folgenden Befehl installieren:

pacman -S mingw-w64-x86_64-python3-pip mingw-w64-x86_64-gcc  \
    mingw-w64-i686-python3-pip mingw-w64-i686-gcc make

Für jedes MSYS2 MinGW-Subsystem sollten Sie dann pip3 install scons in seiner Shell ausführen.

Siehe auch

Um den Godot-Quellcode zum Kompilieren zu erhalten, siehe Beschaffung des Quellcodes.

Eine allgemeine Übersicht über die Verwendung von SCons für Godot finden Sie unter Einführung in das Buildsystem.

SCons einrichten

Um SCons zu installieren, öffnen Sie die Eingabeaufforderung und führen Sie den folgenden Befehl aus:

python -m pip install scons

Wenn Sie die Meldung Defaulting to user installation because normal site-packages is not writeable erhalten, müssen Sie den Befehl möglicherweise mit erweiterten Rechten erneut ausführen. Öffnen Sie eine neue Eingabeaufforderung als Administrator und führen Sie den Befehl erneut aus, um sicherzustellen, dass SCons im PATH verfügbar ist.

Um zu überprüfen, ob Sie Python und SCons korrekt installiert haben, können Sie python --version und scons --version in eine Eingabeaufforderung (cmd.exe) eingeben.

Wenn die obigen Befehle nicht funktionieren, stellen Sie sicher, dass Sie Python nach der Installation zu Ihrer PATH-Umgebungsvariablen hinzufügen und überprüfen Sie es dann erneut. Sie können dies tun, indem Sie das Python-Installationsprogramm erneut ausführen und die Option zum Hinzufügen von Python zum PATH aktivieren.

Wenn SCons Ihre Visual Studio-Installation nicht erkennen kann, könnte es sein, dass Ihre SCons-Version zu alt ist. Aktualisieren Sie es auf die neueste Version mit python -m pip install --upgrade scons.

Einschränkungen beim Installieren von Visual Studio

Wenn Sie Visual Studio 2017 oder 2019 installieren, stellen Sie sicher, dass Sie C++ in der Liste der zu installierenden Workflows aktivieren.

Wenn Sie Visual Studio 2015 installieren, stellen Sie sicher, dass Sie eine Custom-Installation anstelle von Typical ausführen und dort C++ als Sprache auswählen.

Wenn Sie bereits den Fehler gemacht haben, Visual Studio ohne C++-Unterstützung zu installieren, führen Sie das Installationsprogramm erneut aus; es sollte Ihnen einen Button Modify anzeigen. Wenn Sie das Installationsprogramm über Programme hinzufügen/entfernen ausführen, erhalten Sie nur die Option Repair, mit der Sie keine C++-Tools installieren können.

Den Godot-Quellcode herunterladen

Siehe Beschaffung des Quellcodes für detaillierte Anweisungen.

Das Tutorial geht davon aus, dass Sie den Quellcode in C:\godot abgelegt haben.

Warnung

Um Verlangsamungen durch ständiges Virenscannen während der Kompilierung zu vermeiden, fügen Sie den Godot-Quellcode-Ordner zur Liste der Ausnahmen in Ihrer Antiviren-Software hinzu.

Für Windows Defender drücken Sie die Windows-Taste, geben "Windows Sicherheit" ein und drücken dann Enter. Klicken Sie unter Viren- und Bedrohungsschutz auf Einstellungen verwalten und scrollen Sie nach unten zu Ausnahmen. Klicken Sie auf Ausnahmen hinzufügen oder entfernen und fügen Sie den Godot-Quellcode-Ordner hinzu.

Kompilieren

Einen Compiler auswählen

SCons wird automatisch eine vorhandene Visual Studio-Installation finden und verwenden. Wenn Sie Visual Studio nicht installiert haben, wird versucht, stattdessen MinGW zu verwenden. Wenn Sie Visual Studio bereits installiert haben und MinGW verwenden wollen, übergeben Sie use_mingw=yes an die SCons-Kommandozeile. Beachten Sie, dass MSVC-Builds nicht von den MSYS2- oder MinGW-Shells aus durchgeführt werden können. Verwenden Sie stattdessen entweder cmd.exe oder PowerShell.

Während der Entwicklung ist die Verwendung des Visual Studio-Compilers in der Regel die bessere Wahl, da er die Godot-Binärdatei viel schneller als MinGW linkt. MinGW kann jedoch mithilfe der Link-Time-Optimierung (siehe unten) optimiertere Binärdateien erzeugen und ist daher die bessere Wahl für den Produktionseinsatz.

SCons starten

Nachdem Sie eine Eingabeaufforderung geöffnet haben, wechseln Sie in das Stammverzeichnis des Quellcodes der Engine (mit cd) und geben Sie ein:

C:\godot> scons platform=windows

Bemerkung

Beim Kompilieren mit mehreren CPU-Threads kann SCons eine Warnung über das Fehlen von pywin32 ausgeben. Sie können diese Warnung getrost ignorieren.

Wenn alles gut geht, wird die resultierende Binärdatei unter dem Namen godot.windows.editor.x86_32.exe oder godot.windows.editor.x86_64.exe in C:\godot\bin\ abgelegt. Standardmäßig wird SCons eine Binärdatei erstellen, die zu Ihrer CPU-Architektur passt, aber dies kann mit arch=x86_64 oder arch=x86_32 überschrieben werden.

Diese ausführbare Datei enthält die gesamte Engine und läuft ohne jegliche Abhängigkeiten. Wenn Sie sie ausführen, wird der Projektmanager angezeigt.

Bemerkung

Wenn Sie Godot für den Produktionseinsatz kompilieren, können Sie die endgültige ausführbare Datei kleiner und schneller machen, indem Sie die SCons-Option target=template_release hinzufügen.

Wenn Sie Godot mit MinGW kompilieren, können Sie die Binärdatei noch kleiner und schneller machen, indem Sie die SCons-Option lto=full hinzufügen. Da die Link-Time-Optimierung ein speicherintensiver Prozess ist, werden beim Kompilieren etwa 7 GB verfügbarer Arbeitsspeicher benötigt.

Bemerkung

Wenn Sie getrennte Editoreinstellungen für Ihre eigenen Godot-Builds und die offiziellen Releases verwenden wollen, können Sie den Portabler Modus aktivieren, indem Sie eine Datei namens ._sc_ oder _sc_ im bin/-Ordner anlegen.

Entwickeln in Visual Studio

Die Verwendung einer IDE ist für die Kompilierung von Godot nicht erforderlich, da SCons sich um alles kümmert. Wenn Sie jedoch beabsichtigen, den C++-Code der Engine zu weiterzuentwickeln oder zu debuggen, sind Sie möglicherweise an der Konfiguration eines Code-Editors oder einer IDE interessiert.

Ordnerbasierte Editoren erfordern keine besondere Einrichtung, um mit der Codebasis von Godot zu arbeiten. Um Projekte mit Visual Studio zu bearbeiten, müssen sie als Solution eingerichtet werden.

Sie können eine Visual Studio-Solution über SCons erstellen, indem Sie SCons mit dem Parameter vsproj=yes starten, wie folgt:

scons p=windows vsproj=yes

Sie können jetzt den Quellcode von Godot in einer Visual Studio-Solution öffnen und Godot mit dem Build-Button von Visual Studio bauen.

Siehe auch

Siehe Visual Studio für weitere Details.

Cross-Kompilierung für Windows von anderen Betriebssystemen

Wenn Sie ein Linux- oder macOS-Benutzer sind, müssen Sie MinGW-w64 installieren, das normalerweise in 32-Bit- und 64-Bit-Varianten erhältlich ist. Die Paketnamen können je nach Distribution unterschiedlich sein, hier sind einige bekannte:

Arch Linux

pacman -Sy mingw-w64

Debian / Ubuntu

apt install mingw-w64

Fedora

dnf install mingw64-gcc-c++ mingw64-winpthreads-static \
            mingw32-gcc-c++ mingw32-winpthreads-static

MacOS

brew install mingw-w64

Mageia

urpmi mingw64-gcc-c++ mingw64-winpthreads-static \
      mingw32-gcc-c++ mingw32-winpthreads-static

Bevor die Kompilierung durchgeführt wird, sucht SCons nach den folgenden Binärdateien in Ihrer PATH-Umgebungsvariable:

i686-w64-mingw32-gcc
x86_64-w64-mingw32-gcc

Wenn sich die Binaries nicht im PATH befinden (z.B. /usr/bin), können Sie die folgenden Umgebungsvariablen definieren, um dem Buildsystem einen Hinweis zu geben:

export MINGW_PREFIX="/path/to/mingw"

Dabei ist /path/to/mingw der Pfad, der das bin-Verzeichnis enthält, in dem sich i686-w64-mingw32-gcc und x86_64-w64-mingw32-gcc befinden (z.B. /opt/mingw-w64, wenn sich die Binaries in /opt/mingw-w64/bin befinden).

Um sicherzugehen, dass Sie alles richtig machen, sollten Sie folgendes in der Shell ausführen, um einen funktionierenden Compiler zu erhalten (die Ausgabe der Version kann je nach System unterschiedlich sein):

${MINGW_PREFIX}/bin/x86_64-w64-mingw32-gcc --version
# x86_64-w64-mingw32-gcc (GCC) 13.2.0

Bemerkung

Beim Cross-Compiling für Windows mit MinGW-w64 ist zu beachten, dass nur x86_64 und x86_32-Architekturen unterstützt werden. Stellen Sie sicher, dass Sie die richtige arch=-Option beim Aufruf von SCons angeben, wenn Sie von einer anderen Architektur aus kompilieren.

Fehlersuche

Das Cross-Compiling von einigen Ubuntu-Versionen kann zu diesem Bug führen, da die Standardkonfiguration keine Unterstützung für POSIX-Threading bietet.

Sie können die Konfiguration gemäß diesen Anweisungen für 64-Bit ändern:

sudo update-alternatives --config x86_64-w64-mingw32-gcc
<choose x86_64-w64-mingw32-gcc-posix from the list>
sudo update-alternatives --config x86_64-w64-mingw32-g++
<choose x86_64-w64-mingw32-g++-posix from the list>

Und für 32 Bit:

sudo update-alternatives --config i686-w64-mingw32-gcc
<choose i686-w64-mingw32-gcc-posix from the list>
sudo update-alternatives --config i686-w64-mingw32-g++
<choose i686-w64-mingw32-g++-posix from the list>

Erstellen von Windows-Exportvorlagen

Windows-Exportvorlagen werden durch Kompilieren von Godot ohne Editor und mit den folgenden Flags erstellt:

C:\godot> scons platform=windows target=template_debug arch=x86_32
C:\godot> scons platform=windows target=template_release arch=x86_32
C:\godot> scons platform=windows target=template_debug arch=x86_64
C:\godot> scons platform=windows target=template_release arch=x86_64

Wenn Sie vorhaben, die Default-Exportvorlagen zu ersetzen, kopieren Sie diese in das folgende Verzeichnis, wobei Sie <Version> durch die Versionskennung (wie 3.1.1.stable oder 3.2.dev) ersetzen:

%USERPROFILE%\AppData\Roaming\Godot\templates\<version>\

Mit den folgenden Namen:

windows_32_debug.exe
windows_32_release.exe
windows_64_debug.exe
windows_64_release.exe

Wenn Sie jedoch benutzerdefinierte Module oder benutzerdefinierten Engine-Code verwenden, können Sie Ihre Binärdateien hier als benutzerdefinierte Exportvorlagen konfigurieren:

../../../_images/wintemplates.png

Sie brauchen sie in diesem Fall nicht zu kopieren, sondern referenzieren einfach die resultierenden Dateien im Verzeichnis bin\ Ihres Godot-Quellordners, so dass Sie beim nächsten Build automatisch die benutzerdefinierten Vorlagen referenziert haben.