Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Компіляція для Windows
Дивись також
На цій сторінці описано, як скомпілювати редактор Windows і експортувати двійкові файли шаблону з джерела. Якщо ви натомість хочете експортувати свій проект у Windows, прочитайте Експорт на Windows.
Вимоги
Для компіляції під Windows необхідно:
Компілятор C++. Використовуйте один із наведених нижче способів:
Visual Studio Community, version 2019 or later. Visual Studio 2022 is recommended. Make sure to enable C++ in the list of workflows to install. Make sure to enable Windows SDK 10.0.22621 (for Visual Studio 2019) or more recent version (for Visual Studio 2022+). If you've already installed Visual Studio without C++ support, run the installer again; it should present you a Modify button. Supports
x86_64,x86_32, andarm64.MinGW-w64 з GCC можна використовувати як альтернативу Visual Studio. Обов’язково встановіть/налаштуйте його для використання моделі потоку
posix. Важливо: При використанні MinGW для компіляції гілкиmasterвам потрібен GCC 9 або новішої версії. Підтримує лишеx86_64іx86_32.MinGW-LLVM із clang можна використовувати як альтернативу Visual Studio та MinGW-w64. Підтримує
x86_64,x86_32іarm64.
Python 3.9+. Make sure to enable the option to add Python to the
PATHin the installer.SCons 4.4+ build system. Using the latest release is recommended, especially for proper support of recent Visual Studio releases.
Direct3D 12 dependencies (можна пропустити за допомогою опції
d3d12=noSCons, якщо підтримка Direct3D 12 не потрібна).
Примітка
Якщо у вас встановлено Scoop, ви можете легко встановити MinGW та інші залежності за допомогою такої команди:
scoop install python mingw
Scons все одно потрібно буде встановити через pip
Примітка
Якщо у вас встановлено MSYS2, ви можете легко встановити MinGW та інші залежності за допомогою такої команди:
pacman -S mingw-w64-x86_64-gcc mingw-w64-i686-gcc make python-pip
Для кожної підсистеми MSYS2 MinGW ви повинні запустити pip3 install scons в її оболонці.
Дивись також
Щоб отримати вихідний код Godot для компіляції, перегляньте Отримання джерела.
Для загального огляду використання SCons для Godot див. Знайомство з системою побудови.
Налаштування SCons
Щоб встановити SCons, відкрийте командний рядок і виконайте таку команду:
python -m pip install scons
Якщо вам буде запропоновано повідомлення Встановлення користувача за замовчуванням, оскільки звичайні пакети сайту неможливі для запису, можливо, вам доведеться запустити цю команду знову, використовуючи підвищені дозволи. Відкрийте новий командний рядок як адміністратор, а потім знову запустіть команду, щоб переконатися, що SCons доступний із PATH.
Щоб перевірити, чи правильно ви встановили Python і SCons, ви можете ввести python --version і scons --version у командному рядку (cmd.exe).
Якщо наведені вище команди не працюють, обов’язково додайте Python до змінної середовища PATH після встановлення, а потім перевірте ще раз. Ви можете зробити це, знову запустивши програму встановлення Python і ввімкнувши опцію додавання Python до PATH.
Якщо SCons не може виявити інсталяцію Visual Studio, можливо, ваша версія SCons застаріла. Оновіть його до останньої версії за допомогою python -m pip install --upgrade scons.
Завантаження джерела Godot
Зверніться до Отримання джерела для отримання детальних інструкцій.
Відтепер підручник передбачає, що ви розмістили вихідний код у C:\godot.
Попередження
Щоб запобігти сповільненню, спричиненому безперервним скануванням на віруси під час компіляції, додайте вихідну папку Godot до списку винятків у вашому антивірусному програмному забезпеченні.
Для Windows Defender натисніть клавішу Windows, введіть «Безпека Windows», а потім натисніть Enter. Натисніть Захист від вірусів і загроз на лівій панелі. У розділі Параметри захисту від вірусів і загроз натисніть Керувати налаштуваннями та прокрутіть вниз до Виключення. Натисніть Додати або видалити виключення, а потім додайте вихідну папку Godot.
Компілювання
Вибір компілятора
SCons автоматично знайде та використає існуючу інсталяцію Visual Studio. Якщо у вас не встановлено Visual Studio, спробує використовувати MinGW. Якщо у вас вже встановлено Visual Studio і ви хочете використовувати MinGW-w64, передайте use_mingw=yes до командного рядка SCons. Зверніть увагу, що збірки MSVC не можна виконувати з оболонок MSYS2 або MinGW. Натомість використовуйте cmd.exe або PowerShell. Якщо ви використовуєте MinGW-LLVM, передайте use_mingw=yes та use_llvm=yes до командного рядка SCons.
Порада
Під час розробки зазвичай краще використовувати компілятор Visual Studio, оскільки він зв’язує двійковий файл Godot набагато швидше, ніж MinGW. Однак MinGW може створити більш оптимізовані двійкові файли за допомогою оптимізації часу зв’язку (див. нижче), що робить його кращим вибором для використання у виробництві. Особливо це стосується віртуальної машини GDScript, яка працює набагато краще з MinGW порівняно з MSVC. Тому рекомендується використовувати MinGW для створення збірок, які ви розповсюджуєте гравцям.
Усі офіційні двійкові файли Godot створено в спеціальних контейнерах за допомогою MinGW.
Запуск SCons
Відкривши командний рядок, перейдіть до кореневого каталогу вихідного коду двигуна (за допомогою cd) і введіть:
C:\godot> scons platform=windows
Примітка
Під час компіляції з кількома потоками процесора SCons може попередити про відсутність pywin32. Ви можете сміливо ігнорувати це попередження.
Порада
Якщо ви компілюєте Godot, щоб внести зміни або зробити внесок у механізм, ви можете використати параметри SCons dev_build=yes або dev_mode=yes. Перегляньте Псевдоніми розробки та виробництва для отримання додаткової інформації.
Якщо все піде добре, отриманий двійковий виконуваний файл буде розміщено в C:\godot\bin\ з назвою godot.windows.editor.x86_32.exe або godot.windows.editor.x86_64.exe. За замовчуванням SCons створить двійковий файл, який відповідає архітектурі вашого ЦП, але це можна змінити за допомогою arch=x86_64, arch=x86_32 або arch=arm64.
Цей виконуваний файл містить весь механізм і працює без будь-яких залежностей. Після його запуску відкриється менеджер проекту.
Порада
Якщо ви компілюєте Godot для використання у виробництві, ви можете зробити кінцевий виконуваний файл меншим і швидшим, додавши опцію SCons production=yes. Це дозволяє додатково оптимізувати компілятор і оптимізувати час зв’язку.
LTO потребує деякий час для запуску та потребує до 30 ГБ доступної оперативної пам’яті під час компіляції (залежно від інструментарію). Якщо вам не вистачає пам’яті з наведеним вище параметром, використовуйте production=yes lto=none або production=yes lto=thin (тільки LLVM) для легкої, але менш ефективної форми LTO.
Примітка
Якщо ви хочете використовувати окремі параметри редактора для власних збірок Godot та офіційних випусків, ви можете ввімкнути Автономний режим, створивши файл під назвою ._sc_ або _sc_ у bin/ папка.
Вимоги до встановлення Direct3D 12
За замовчуванням збірки Godot для Windows містять підтримку графічного API Direct3D 12. Компіляція з підтримкою Direct3D 12 вимагає встановлення додаткових залежностей. Якщо ви хочете пропустити цей крок, ви можете скористатися параметром SCons d3d12=no; підтримка Vulkan та OpenGL залишиться доступною, якщо ви це зробите.
Ви можете встановити необхідні залежності, виконавши команду python misc/scripts/install_d3d12_sdk_windows.py у репозиторії вихідного коду Godot. Після запуску цього скрипта скомпілюйте Godot як завжди. При цьому будуть використані шляхи за замовчуванням для різних залежностей, які відповідають тим, що використовуються у скрипті.
Ви можете знайти докладні кроки нижче, якщо ви бажаєте налаштувати залежності вручну, але наведений вище скрипт обробляє все за вас (включаючи додаткові компоненти PIX і Agility SDK).
статична бібліотека godot-nir. Ми компілюємо бібліотеки Mesa, які вам знадобляться, у статичну бібліотеку. Завантажте його будь-де, розархівуйте і запам'ятайте шлях до розпакованої папки, він вам знадобиться нижче.
Примітка
За бажанням ви можете створити статичні бібліотеки godot-nir самостійно, виконавши такі дії:
Встановіть пакет Python mako, який потрібен для створення деяких файлів.
Клонуйте каталог godot-nir-static і перейдіть до нього.
Виконайте наступне:
git submodule update --init
./update_mesa.sh
scons
Якщо ви збираєте за допомогою MinGW-w64, додайте use_mingw=yes до команди scons, ви також можете вказати архітектуру збірки за допомогою arch={architecture}. Якщо ви збираєте за допомогою MinGW-LLVM, додайте use_mingw=yes та use_llvm=yes до команди scons.
Якщо ви збираєте за допомогою MinGW, а бінарні файли не знаходяться в PATH, додайте mingw_prefix="/path/to/mingw" до команди scons.
Статичну бібліотеку Mesa слід зібрати за допомогою того ж компілятора та того ж CRT (якщо ви збираєте за допомогою MinGW), які ви використовуєте для збірки Godot.
За бажанням ви можете скомпілювати наступне для додаткових функцій:
PIX — це програма для налаштування продуктивності та налагодження програм Direct3D12. Якщо ви скомпілюєте його підтримку, ви зможете отримати набагато більш детальну інформацію через PIX, яка допоможе вам оптимізувати вашу гру та усунути помилки графіки. Щоб використовувати його, завантажте пакет WinPixEventRuntime. Ви перейдете на сторінку пакета NuGet, де ви можете натиснути «Завантажити пакет», щоб отримати його. Після завантаження змініть розширення файлу на .zip і розархівуйте файл за певним шляхом.
Agility SDK можна використовувати для надання доступу до останніх функцій Direct3D 12, не покладаючись на оновлення драйверів. Щоб використовувати його, завантажте найновіший пакет Agility SDK. Ви перейдете на сторінку пакета NuGet, де ви можете натиснути «Завантажити пакет», щоб отримати його. Після завантаження змініть розширення файлу на .zip і розархівуйте файл за певним шляхом.
Примітка
Якщо ви використовуєте попередній перегляд Agility SDK, не забудьте ввімкнути режим розробника в Windows; інакше він не буде використаний.
Примітка
Якщо ви хочете використовувати PIX зі збіркою MinGW, перейдіть до каталогу середовища виконання PIX та скористайтеся наступними командами для створення бібліотеки імпорту:
# For x86-64:
gendef ./bin/x64/WinPixEventRuntime.dll
dlltool --machine i386:x86-64 --no-leading-underscore -d WinPixEventRuntime.def -D WinPixEventRuntime.dll -l ./bin/x64/libWinPixEventRuntime.a
# For ARM64:
gendef ./bin/ARM64/WinPixEventRuntime.dll
dlltool --machine arm64 --no-leading-underscore -d WinPixEventRuntime.def -D WinPixEventRuntime.dll -l ./bin/ARM64/libWinPixEventRuntime.a
Під час збирання Godot вам потрібно буде вказати SCons, де шукати додаткові бібліотеки:
C:\godot> scons platform=windows mesa_libs=<...>
Або з увімкненими всіма параметрами:
C:\godot> scons platform=windows mesa_libs=<...> agility_sdk_path=<...> pix_path=<...>
Примітка
Підтримка PIX вимкнена за замовчуванням, навіть якщо вона у вас встановлена. Щоб увімкнути її, передайте use_pix=yes до SCons.
Примітка
Для DLL-файлів Agility SDK потрібно явно вибрати тип робочого процесу. За замовчуванням використовується одноархівний режим (DLL-файли копіюються в bin/). Якщо ви передасте agility_sdk_multi_arch=yes до SCons, ви ввімкнете багатоархівний режим. DLL-файли будуть скопійовані у відповідні підкаталоги bin/<arch>/, і під час виконання буде завантажено правильний.
Компіляція з підтримкою AccessKit
AccessKit забезпечує підтримку програм зчитування з екрана.
Compiling with AccessKit requires additional dependencies to be installed.
If you wish to skip this step, you can use the accesskit=no SCons option.
You can install the required dependencies by running
python misc/scripts/install_accesskit.py
in the Godot source repository. After running this script, compile Godot as usual.
Примітка
You can optionally build the AccessKit libraries yourself with the following steps:
Клонуйте каталог godot-accesskit-c-static та перейдіть до нього.
Виконайте таку команду:
cd accesskit-c
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build
Статичну бібліотеку AccessKit слід зібрати за допомогою того ж компілятора та того ж CRT (якщо ви збираєте за допомогою MinGW), які ви використовуєте для збірки Godot.
To compile Godot with a custom build of AccessKit, add accesskit_sdk_path={path} to
tell SCons where to look for the AccessKit libraries:
scons platform=windows accesskit_sdk_path=<...>
Compiling with WinRT support
WinRT provides support for OneCore TTS (accessing Windows 10+ voices), HDR color information monitoring, and emoji picker.
If you are building with MinGW, compiling with WinRT requires additional dependencies to be installed.
If you wish to skip this step, you can use the winrt=no SCons option.
You can install the required dependencies by running
python misc/scripts/install_winrt.py
in the Godot source repository. After running this script, compile Godot as usual.
Примітка
You can optionally build the WinRT headers yourself with the following steps:
Clone the winrt-mingw directory and navigate to it.
Виконайте таку команду:
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCPPWINRT_BUILD_VERSION=2.0.250303.1 -DBUILD_TESTING=OFF cppwinrt/
echo "" > build/app.manifest.rc
cmake --build build
./build/cppwinrt.exe -input windows-rs/crates/libs/bindgen/default/ -output include/
To compile Godot with a custom build of WinRT, add winrt_path={path} to
tell SCons where to look for the AccessKit headers:
scons platform=windows winrt_path=<...>
Компіляція з підтримкою ANGLE
ANGLE забезпечує рівень перекладу з OpenGL ES 3.x на Direct3D 11 і може використовуватися для покращення підтримки рендерера сумісності на деяких старіших графічних процесорах із застарілими драйверами OpenGL і в Windows для ARM.
Compiling with ANGLE requires additional dependencies to be installed.
If you wish to skip this step, you can use the angle=no SCons option.
You can install the required dependencies by running
python misc/scripts/install_angle.py
in the Godot source repository. After running this script, compile Godot as usual.
Примітка
За бажанням ви можете самостійно створити бібліотеки godot-angle-static, виконавши наступні дії:
Склонуйте каталог godot-angle-static і перейдіть до нього.
Виконайте таку команду:
git submodule update --init
./update_angle.sh
scons
Якщо ви збираєте за допомогою MinGW, додайте use_mingw=yes до команди, ви також можете вказати архітектуру збірки за допомогою arch={architecture}. Якщо ви збираєте за допомогою MinGW-LLVM, додайте use_mingw=yes та use_llvm=yes до команди scons.
Якщо ви збираєте за допомогою MinGW, а бінарні файли не знаходяться в PATH, додайте mingw_prefix="/path/to/mingw" до команди scons.
Статичну бібліотеку ANGLE слід зібрати за допомогою того ж компілятора та того ж CRT (якщо ви збираєте за допомогою MinGW), які ви використовуєте для збірки Godot.
To compile Godot with a custom build of ANGLE, add angle_libs={path} to
tell SCons where to look for the ANGLE libraries:
scons platform=windows angle_libs=<...>
Розробка в Visual Studio
Для компіляції Godot не потрібно використовувати IDE, оскільки SCons подбає про все. Але якщо ви маєте намір займатися розробкою двигуна або налагодженням коду двигуна C++, вас може зацікавити налаштування редактора коду або IDE.
Редактори на основі папок не вимагають жодних спеціальних налаштувань, щоб розпочати роботу з кодовою базою Godot. Щоб редагувати проекти за допомогою Visual Studio, їх потрібно налаштувати як рішення.
Ви можете створити рішення Visual Studio за допомогою SCons, запустивши SCons з параметром vsproj=yes, ось так:
scons platform=windows vsproj=yes
Тепер ви зможете відкрити вихідний код Godot у рішенні Visual Studio, а також зможете створити Godot за допомогою кнопки Build у Visual Studio.
Дивись також
Перегляньте visual Studio для отримання додаткової інформації.
Вирішення проблем
Якщо під час використання MSVC виникає помилка компіляції, обов’язково встановіть останні оновлення. Ви можете зробити це, запустивши середовище розробки Visual Studio та виконавши , тоді у рядку меню угорі. Встановіть усі оновлення, а потім спробуйте скомпілювати ще раз.
Крос-компіляція для Windows з інших операційних систем
Якщо ви користуєтеся Linux або macOS, вам потрібно інсталювати MinGW-w64, який зазвичай доступний у 32-розрядному та 64-розрядному варіантах, або MinGW-LLVM, який постачається як єдиний архів для всіх цільових архітектури. Назви пакетів можуть відрізнятися залежно від вашого дистрибутива, ось деякі з них:
arch Linux |
pacman -S 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
|
Маґей |
urpmi mingw64-gcc-c++ mingw64-winpthreads-static \
mingw32-gcc-c++ mingw32-winpthreads-static
|
Перед спробою компіляції, SCons перевірить наявність наступних бінарних файлів у вашій змінній середовища PATH:
# for MinGW-w64
i686-w64-mingw32-gcc
x86_64-w64-mingw32-gcc
# for MinGW-LLVM
aarch64-w64-mingw32-clang
i686-w64-mingw32-clang
x86_64-w64-mingw32-clang
Якщо бінарні файли не знаходяться в PATH (наприклад, /usr/bin), ви можете визначити наступну змінну середовища, щоб дати підказку системі збірки:
export MINGW_PREFIX="/path/to/mingw"
Де /path/to/mingw це шлях, що містить каталог bin, де розташовані i686-w64-mingw32-gcc і x86_64-w64-mingw32-gcc (наприклад, /opt/mingw-w64, якщо двійкові файли знаходяться в /opt/mingw-w64/bin).
Щоб переконатися, що ви все робите правильно, виконання наступного в оболонці має призвести до робочого компілятора (версія виводу може відрізнятися залежно від вашої системи):
${MINGW_PREFIX}/bin/x86_64-w64-mingw32-gcc --version
# x86_64-w64-mingw32-gcc (GCC) 13.2.0
Примітка
Якщо ви створюєте за допомогою MinGW-LLVM, додайте use_llvm=yes до команди scons.
Примітка
Під час крос-компіляції для Windows із використанням MinGW-w64 пам’ятайте, що підтримуються лише архітектури x86_64 і x86_32. MinGW-LLVM також підтримує arm64. Обов’язково вкажіть правильний параметр arch= під час виклику SCons, якщо будуєте з іншої архітектури.
Вирішення проблем
Перехресна компіляція з деяких версій Ubuntu може призвести до цієї помилки через те, що стандартна конфігурація не підтримує потоки POSIX.
Ви можете змінити цю конфігурацію, дотримуючись цих інструкцій для 64-розрядної версії:
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>
А для 32-бітної версії:
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>
Створення шаблонів експорту Windows
Шаблони експорту Windows створюються шляхом компіляції Godot без редактора з такими прапорцями:
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
C:\godot> scons platform=windows target=template_debug arch=arm64
C:\godot> scons platform=windows target=template_release arch=arm64
Якщо ви плануєте замінити стандартні шаблони експорту, скопіюйте їх у таке розташування, замінивши <version> на ідентифікатор версії (наприклад, 4.2.1.stable або 4.3.dev) :
%APPDATA%\Godot\export_templates\<version>\
З такими назвами:
windows_debug_x86_32_console.exe
windows_debug_x86_32.exe
windows_debug_x86_64_console.exe
windows_debug_x86_64.exe
windows_debug_arm64_console.exe
windows_debug_arm64.exe
windows_release_x86_32_console.exe
windows_release_x86_32.exe
windows_release_x86_64_console.exe
windows_release_x86_64.exe
windows_release_arm64_console.exe
windows_release_arm64.exe
Однак, якщо ви використовуєте власні модулі або власний код двигуна, ви можете налаштувати свої бінарні файли як власні шаблони експорту в меню експорту проекту. Щоб налаштувати це, потрібно ввімкнути Додаткові параметри.
Вам не потрібно копіювати їх у цьому випадку, просто посилайтеся на отримані файли в каталозі bin\ вашої вихідної теки Godot, тож наступного разу, коли ви збиратимете, ви автоматично матимете посилання на спеціальні шаблони.