Compilando para Windows

Ver también

Esta página describe cómo compilar el editor de Windows y las plantillas de exportación desde el código fuente. Si deseas exportar tu proyecto a Windows, lee Exportación para Windows.

Requerimientos

Para compilar en Windows, se requiere lo siguiente:

  • Visual Studio Community, versión 2017 o posterior. Se recomienda utilizar VS 2019. Asegúrate de leer las advertencias sobre la instalación de Visual Studio a continuación, o de lo contrario tendrás que volver a ejecutar/descargar el instalador.

  • MinGW-w64 con GCC puede ser utilizado como una alternativa a Visual Studio. Asegúrate de instalar/configurar MinGW-w64 para que utilice el modelo de hilos posix.

  • Python 3.5+. Asegúrate de habilitar la opción para agregar Python al ``PATH`` en el instalador.

  • SCons sistema de construcción. Se recomienda usar la última versión, especialmente para un soporte adecuado de las versiones recientes de Visual Studio.

Nota

Si tienes Scoop instalado, puedes instalar fácilmente MinGW y otras dependencias utilizando el siguiente comando:

scoop install gcc python scons make

Nota

Si tienes MSYS2 instalado, puedes instalar fácilmente MinGW y otras dependencias utilizando el siguiente comando:

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

Para cada subsistema de MSYS2 MinGW, debes ejecutar pip3 install scons en su shell.

Ver también

Para obtener el código fuente de Godot para compilarlo, consulta la sección Consiguiendo el código fuente.

Para obtener una visión general del uso de SCons para Godot, consulta la sección Introducción al sistema de compilación.

Configurando SCons

Para instalar SCons, abre la línea de comandos y ejecuta el siguiente comando:

python -m pip install scons

Si te aparece el mensaje Defaulting to user installation because normal site-packages is not writeable, es posible que debas ejecutar ese comando nuevamente con permisos elevados. Abre una nueva línea de comandos como administrador y luego ejecuta el comando nuevamente para asegurarte de que SCons esté disponible desde la variable de entorno PATH.

Para verificar si has instalado Python y SCons correctamente, puedes escribir python --version y scons --version en una ventana de comandos (cmd.exe).

Si los comandos anteriores no funcionan, asegúrate de agregar Python a la variable de entorno PATH después de instalarlo y luego verifica nuevamente. Puedes hacer esto ejecutando nuevamente el instalador de Python y habilitando la opción para agregar Python al PATH.

Si SCons no puede detectar tu instalación de Visual Studio, es posible que tu versión de SCons sea demasiado antigua. Actualízala a la última versión con el comando python -m pip install --upgrade scons.

Cuestiones a tener en cuenta al instalar Visual Studio

Si estás instalando Visual Studio 2017 o 2019, asegúrate de habilitar C++ en la lista de flujos de trabajo a instalar.

Si estás instalando Visual Studio 2015, asegúrate de realizar una instalación Personalizada en lugar de Típica y selecciona C++ como un lenguaje en esa opción.

Si ya has cometido el error de instalar Visual Studio sin el soporte de C++, puedes ejecutar el instalador nuevamente; debería presentarte un botón de Modificar. Ejecutar el instalador desde Agregar o quitar programas solo te dará la opción de Reparar, que no te permitirá instalar las herramientas de C++.

Descargando el código fuente de Godot

Consulta la sección Consiguiendo el código fuente para obtener instrucciones detalladas.

El tutorial partirá de ahora bajo la suposición de que has colocado el código fuente en C:\godot.

Advertencia

Para evitar ralentizaciones causadas por el escaneo continuo de virus durante la compilación, agrega la carpeta de código fuente de Godot a la lista de excepciones en tu software antivirus.

Para Windows Defender, presiona la tecla Windows, escribe "Configuración de Windows Defender" y luego presiona Enter. En la sección Protección contra virus y amenazas, ve a Configuración de protección contra virus y amenazas y desplázate hacia abajo hasta Exclusiones. Haz clic en Agregar o quitar exclusiones y luego agrega la carpeta de código fuente de Godot.

Compilando

Seleccionando un compilador

SCons encontrará y utilizará automáticamente una instalación existente de Visual Studio. Si no tienes Visual Studio instalado, intentará usar MinGW en su lugar. Si ya tienes Visual Studio instalado y deseas usar MinGW, agrega use_mingw=yes en la línea de comandos de SCons. Ten en cuenta que las compilaciones de MSVC no se pueden realizar desde las terminales de MSYS2 o MinGW. En su lugar, utiliza cmd.exe o PowerShell.

Durante el desarrollo, usar el compilador de Visual Studio suele ser una mejor idea, ya que vincula el binario de Godot mucho más rápido que MinGW. Sin embargo, MinGW puede producir binarios más optimizados utilizando la optimización en tiempo de enlace (consultar más abajo), lo que lo convierte en una mejor opción para su uso en producción.

Ejecutando SCons

Después de abrir un símbolo del sistema, cambia al directorio raíz del código fuente del motor (usando cd) y escribe:

C:\godot> scons platform=windows

Nota

Cuando compiles con múltiples hilos de CPU, SCons puede mostrar un aviso sobre la falta de pywin32. Puedes ignorar este aviso de forma segura.

Si todo va bien, el ejecutable binario resultante se colocará en C:\godot\bin\ con el nombre godot.windows.tools.32.exe o godot.windows.tools.64.exe. Por defecto, SCons construirá un binario que coincida con la arquitectura de tu CPU, pero esto puede ser anulado usando bits=64 o bits=32.

Este archivo ejecutable contiene todo el motor y se ejecuta sin ninguna dependencia. Al ejecutarlo, se abrirá el Administrador de Proyectos.

Nota

Si estás compilando Godot para uso en producción, puedes hacer que el ejecutable final sea más pequeño y rápido agregando la opción de SCons target=release_debug.

Si estás compilando Godot con MinGW, puedes hacer que el binario sea aún más pequeño y rápido agregando la opción de SCons use_lto=yes. La optimización en tiempo de enlace (LTO) es un proceso que consume mucha memoria, por lo que necesitarás alrededor de 7 GB de RAM disponible durante la compilación.

Nota

Si deseas utilizar configuraciones de editor separadas para tus propias compilaciones de Godot y las versiones oficiales, puedes habilitar Modo autónomo creando un archivo llamado ._sc_ o _sc_ en la carpeta bin/.

Desarrollo en Visual Studio

No es necesario utilizar un IDE para compilar Godot, ya que SCons se encarga de todo. Sin embargo, si tienes la intención de desarrollar el motor o depurar el código C++ del motor, es posible que estés interesado en configurar un editor de código o un IDE.

Los editores basados en carpetas no requieren una configuración particular para empezar a trabajar con el código de Godot. Sin embargo, para editar proyectos con Visual Studio, necesitan ser configurados como una solución.

Puedes crear una solución de Visual Studio a través de SCons ejecutando SCons con el parámetro vsproj=yes, de esta manera:

scons p=windows vsproj=yes

Ahora podrás abrir el código fuente de Godot en una solución de Visual Studio y compilar Godot usando el botón Build de Visual Studio.

Ver también

Consulta Visual Studio para obtener más detalles.

Compilando para Windows desde otros sistemas operativos

Si eres usuario de Linux o macOS, necesitarás instalar MinGW-w64, el cual generalmente viene en variantes de 32 bits y 64 bits. Los nombres de los paquetes pueden variar según tu distribución, aquí algunos nombres conocidos:

Arch Linux

Instala mingw-w64-gcc desde el AUR.

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

Antes de intentar la compilación, SCons verificará la presencia de los siguientes binarios en la variable de entorno PATH:

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

Si los binarios no se encuentran en la ruta PATH (por ejemplo, /usr/bin), puedes definir las siguientes variables de entorno para dar una pista al sistema de compilación:

export MINGW32_PREFIX="/path/to/i686-w64-mingw32-"
export MINGW64_PREFIX="/path/to/x86_64-w64-mingw32-"

Para asegurarte de que estás haciendo las cosas correctamente, ejecuta lo siguiente en la terminal y deberías obtener un compilador funcional (la versión puede variar según tu sistema):

${MINGW32_PREFIX}gcc --version
# i686-w64-mingw32-gcc (GCC) 6.1.0 20160427 (Mageia MinGW 6.1.0-1.mga6)

Solución De Problemas

La compilación cruzada desde algunas versiones de Ubuntu puede dar lugar a este error, debido a una configuración predeterminada que no incluye soporte para el enhebrado POSIX.

Puedes cambiar esa configuración siguiendo estas instrucciones, para 64 bits:

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>

Y para 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>

Para crear las plantillas de exportación para Windows

Las plantillas de exportación para Windows se crean compilando Godot sin el editor, utilizando las siguientes banderas:

C:\godot> scons platform=windows tools=no target=release_debug bits=32
C:\godot> scons platform=windows tools=no target=release bits=32
C:\godot> scons platform=windows tools=no target=release_debug bits=64
C:\godot> scons platform=windows tools=no target=release bits=64

Si planeas reemplazar las plantillas de exportación estándar, copia estas a la siguiente ubicación, sustituyendo <version> por el identificador de versión (como 3.1.1.stable o 3.2.dev):

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

Con los siguientes nombres:

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

Sin embargo, si estás utilizando módulos personalizados o código de motor personalizado, es posible que desees configurar tus binarios como plantillas de exportación personalizadas aquí:

../../_images/wintemplates.png

En este caso, no es necesario copiarlos; simplemente haz referencia a los archivos resultantes en el directorio bin\ de la carpeta de origen de Godot. De esta manera, la próxima vez que compiles, los tendrás automáticamente como plantillas personalizadas referenciadas.