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, версія 2019 або пізніша. Рекомендується Visual Studio 2022. Під час інсталяції обов’язково виберіть C++ у списку робочих процесів, а також виберіть такі окремі компоненти:
MSVC v142 — інструменти компіляції VS 2019 C++ {arch} (остання версія) для цільових архітектур.
Windows 11 SDK (10.0.22621.0) (точна версія).
MSVC v143 — інструменти компіляції VS 2022 C++ {arch} (остання версія) для цільових архітектур.
Windows 11 SDK (10.0.22621.0) або новіша версія.
Інструменти збірки MSVC для {arch} (остання версія) для цільових архітектур.
Windows 11 SDK (10.0.22621.0) або новіша версія.
Якщо ви вже встановили Visual Studio без підтримки C++ для цільової архітектури або без Windows SDK, запустіть інсталятор ще раз; там має з’явитися кнопка Змінити. Підтримуються архітектури
x86_64,x86_32таarm64.MinGW-w64 з GCC можна використовувати як альтернативу Visual Studio. Обов’язково встановіть та налаштуйте його для використання моделі потоків
posix. Важливо: При використанні MinGW для компіляції гілкиmasterнеобхідний GCC 12 або пізнішої версії. Підтримуються лише архітектуриx86_64таx86_32.MinGW-LLVM із clang можна використовувати як альтернативу Visual Studio та MinGW-w64. Важливо: При використанні MinGW для компіляції гілки
masterнеобхідний clang 14 або пізнішої версії. Підтримує архітектуриx86_64,x86_32таarm64.
Python 3.9+. Обов’язково увімкніть у програмі встановлення опцію додавання Python до
PATH.Система збірки SCons 4.4+. Рекомендується використовувати останню версію, особливо для належної підтримки останніх версій Visual Studio.
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 забезпечує підтримку програм зчитування з екрана.
Для компіляції з використанням AccessKit необхідно встановити додаткові залежності. Якщо ви бажаєте пропустити цей крок, ви можете скористатися опцією SCons accesskit=no.
Ви можете встановити необхідні залежності, запустивши файл python misc/scripts/install_accesskit.py у репозиторії вихідного коду Godot. Після запуску цього скрипта скомпілюйте Godot у звичайному режимі.
Примітка
За бажанням ви можете самостійно скомпілювати бібліотеки AccessKit, виконавши такі кроки:
Клонуйте каталог 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.
Щоб скомпілювати Godot із власним збіркою AccessKit, додайте accesskit_sdk_path={path}, щоб вказати SCons, де шукати бібліотеки AccessKit:
scons platform=windows accesskit_sdk_path=<...>
Компіляція з підтримкою WinRT
WinRT підтримує OneCore TTS (доступ до голосів Windows 10 і новіших версій), відстеження інформації про HDR-кольори та вибір смайликів.
Якщо ви використовуєте MinGW, для компіляції з WinRT потрібно встановити додаткові залежності. Якщо ви бажаєте пропустити цей крок, ви можете скористатися опцією SCons winrt=no.
Ви можете встановити необхідні залежності, запустивши файл python misc/scripts/install_winrt.py у репозиторії вихідного коду Godot. Після запуску цього скрипта скомпілюйте Godot у звичайному режимі.
Примітка
За бажанням ви можете самостійно скомпілювати заголовки WinRT, виконавши такі кроки:
Скопіюйте каталог winrt-mingw і перейдіть до нього.
Виконайте таку команду:
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/
Щоб скомпілювати Godot із власним збіркою WinRT, додайте winrt_path={path}, щоб вказати SCons, де шукати заголовки AccessKit:
scons platform=windows winrt_path=<...>
Компіляція з підтримкою ANGLE
ANGLE забезпечує рівень перекладу з OpenGL ES 3.x на Direct3D 11 і може використовуватися для покращення підтримки рендерера сумісності на деяких старіших графічних процесорах із застарілими драйверами OpenGL і в Windows для ARM.
Для компіляції за допомогою ANGLE необхідно встановити додаткові залежності. Якщо ви бажаєте пропустити цей крок, можна скористатися опцією SCons angle=no.
Ви можете встановити необхідні залежності, запустивши файл python misc/scripts/install_angle.py у репозиторії вихідного коду Godot. Після запуску цього скрипта скомпілюйте Godot у звичайному режимі.
Примітка
За бажанням ви можете самостійно створити бібліотеки 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.
Щоб скомпілювати Godot із власним збіркою ANGLE, додайте angle_libs={path}, щоб вказати SCons, де шукати бібліотеки ANGLE:
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, тож наступного разу, коли ви збиратимете, ви автоматично матимете посилання на спеціальні шаблони.