为Windows和Android平台编译Godot

9 篇文章 0 订阅
8 篇文章 1 订阅

未指明版本的适配Godot 4.1.3版本。

为Windows平台编译Godot

用Visual Studio编译

py -m pip install --upgrade pip scons
  • 编译
    假设Python安装在目录D:\Python3,Godot代码库在目录D:\prj\godotengine\godot。
    如果是在x64平台上编译x64应用程序,那么启动"x64 Native Tools Command Prompt for VS"并执行命令:
set PATH=D:\Python3;D:\Python3\Scripts;%PATH%
cd /d D:\prj\godotengine\godot
scons -h
scons -H
:: scons -c 再带入之前版本所使用的参数执行清理
:: 编译导出模板(及项目管理器和编辑器)
scons p=windows deprecated=no
:: 编译发布版本
scons p=windows target=template_release production=yes deprecated=no

将在目录bin下分别生成可执行文件:

godot.windows.editor.x86_64.console
godot.windows.editor.x86_64.exe
godot.windows.template_release.x86_64.console.exe
godot.windows.template_release.x86_64.exe

用MinGW-w64编译

  • 启动MSYS2 MinGW 64-bit shell(D:\msys64\msys2_shell.cmd -mingw64)
  • 准备编译环境
pacman -S --needed mingw-w64-x86_64-python-pip mingw-w64-x86_64-gcc make
pip install --upgrade scons
  • 编译
cd /d/prj/godotengine/godot
# scons -c 再带入之前版本所使用的参数执行清理
# 编译项目管理器和编辑器
scons p=windows deprecated=no use_mingw=yes
# 编译发布版本
scons p=windows target=template_release production=yes deprecated=no use_mingw=yes

输出的可执行文件名和用Visual Studio编译的相同。

  • 例子
    一个实际产品的例子(裁剪掉不需要的模块):
scons p=windows target=template_release production=yes deprecated=no use_mingw=yes disable_advanced_gui=yes modules_enabled_by_default=no module_freetype_enabled=yes module_gdscript_enabled=yes module_lightmapper_rd_enabled=yes module_navigation_enabled=yes module_raycast_enabled=yes module_svg_enabled=yes module_text_server_adv_enabled=yes module_webp_enabled=yes minizip=no brotli=no graphite=no openxr=no builtin_brotli=no builtin_certs=no builtin_enet=no builtin_msdfgen=no builtin_glslang=no builtin_graphite=no builtin_libogg=no builtin_libtheora=no builtin_libvorbis=no builtin_wslay=no builtin_mbedtls=no builtin_miniupnpc=no builtin_openxr=no builtin_pcre2=no builtin_pcre2_with_jit=no builtin_squish=no builtin_xatlas=no vulkan=no use_volk=no

以下选项采用缺省值(yes):

builtin_embree
builtin_freetype
builtin_harfbuzz
builtin_icu4c
builtin_libpng
builtin_libwebp
builtin_recastnavigation
builtin_rvo2_2d
builtin_rvo2_3d
builtin_zlib
builtin_zstd
opengl3
  • 编译godot-cpp
    通常将godot-cpp作为某个GDExtension组件的依赖库子模块(git submodule)进行编译。
    假设godot-cpp代码库在目录D:\prj\godotengine\godot-cpp。
    以tag godot-4.1.3-stable为例,先应用#1078补丁,然后执行命令:
cd /d/prj/godotengine/godot-cpp
# 编译调试版本
scons gdextension_dir=gdextension arch=x86_64 use_mingw=yes debug_symbols=no
# 编译发布版本
scons target=template_release gdextension_dir=gdextension arch=x86_64 use_mingw=yes debug_symbols=no

将在目录bin下分别生成静态库文件:

libgodot-cpp.windows.template_debug.x86_64.a
libgodot-cpp.windows.template_release.x86_64.a

为Android平台编译Godot

  • 安装Python
  • 安装SCons
  • 安装Android StudioAndroid SDK
  • 下载Gradle
    版本号参考D:\prj\godotengine\godot\platform\android\java\gradle\wrapper\gradle-wrapper.properties中distributionUrl的配置,一般可取同一大版本号下的最新版本。
  • 修改distributionUrl,指向已下载的gradle包,例如:
distributionUrl=file:///D:/android/gradle/gradle-7.6.3-all.zip
  • 一些软件版本号在D:\prj\godotengine\godot\platform\android\java\app\config.gradle中指定
  • 编译
    假设Android Studio安装在目录“D:\android\Android Studio”;Android SDK安装在目录D:\android\android-sdk。
    在命令提示符窗口执行:
set PATH=D:\Python3;D:\Python3\Scripts;%PATH%
set ANDROID_SDK_ROOT=D:\android\android-sdk
set JAVA_HOME=D:\android\Android Studio\jbr\
cd /d D:\prj\godotengine\godot
:: scons -c 再带入之前版本所使用的参数执行清理(或git clean -fixd)
scons p=android target=template_release production=yes deprecated=no
cd platform\android\java
gradlew generateGodotTemplates

如果首次编译generateGodotTemplates失败,可能是因为依赖包下载失败导致,可以多试几次。
另外,子目录android下多余的垃圾文件也可能导致编译失败,可以用git工具清理后再试。
将在目录bin下生成三个文件:

android_release.apk
android_source.zip
godot-lib.template_release.aar

另,编译调试用模板:

cd /d D:\prj\godotengine\godot\platform\android\java
gradlew cleanGodotTemplates
cd /d D:\prj\godotengine\godot
:: scons -c 再带入之前版本所使用的参数执行清理(或git clean -fixd)
scons p=android target=template_debug deprecated=no
cd platform\android\java
gradlew generateGodotTemplates

将在目录bin下生成三个文件:

android_debug.apk
android_source.zip
godot-lib.template_debug.aar

编译目标可参考文件D:\prj\godotengine\godot\platform\android\java\build.gradle。

参考

Godot Docs:从源代码构建

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值