吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 333|回复: 0
上一主题 下一主题
收起左侧

[其他原创] Godot 4.8一键编译批处理

[复制链接]
跳转到指定楼层
楼主
冥界3大法王 发表于 2026-9-10 20:27 回帖奖励
本帖最后由 冥界3大法王 于 2026-9-10 20:28 编辑



[Shell] 纯文本查看 复制代码
@echo off
chcp 936 >nul 2>&1
setlocal enabledelayedexpansion
title Godot 4.8-dev 一键编译

rem ============================================================
rem   Godot 4.8-dev 一键编译脚本
rem   项目路径:X:\Compile_My_Godot4.8
rem   用法:直接双击本文件
rem ============================================================

rem ------------------ 配置区(一般不用改) ------------------
set "PROJ=X:\Compile_My_Godot4.8"
set "PY=X:\Python310_x64\python.exe"

rem  可选驱动开关:
rem    0 = 关闭 accesskit / angle / d3d12(快速编译,推荐先用这个)
rem    1 = 启用三者(会先联网下载约 300MB 依赖,功能完整)
set "USE_EXTRA=0"
rem ---------------------------------------------------------


echo ============================================================
echo    Godot 4.8-dev 一键编译
echo ============================================================
echo.


rem ---------- 第 1 步:检查项目目录 ----------
echo [1/4] 检查项目目录 ...
if not exist "%PROJ%\SConstruct" (
    echo    [错误] 在 %PROJ% 下找不到 SConstruct 文件。
    echo    请确认项目路径是否正确,或修改本脚本开头的 PROJ 变量。
    goto :fail
)
echo    项目目录正常。


rem ---------- 第 2 步:检查 Python ----------
echo.
echo [2/4] 检查 Python ...
if not exist "%PY%" (
    echo    [错误] 找不到 Python:%PY%
    echo    请修改本脚本开头的 PY 变量,指向你的 python.exe。
    goto :fail
)
"%PY%" --version
if errorlevel 1 (
    echo    [错误] Python 无法正常运行。
    goto :fail
)


rem ---------- 第 3 步:检查 SCons ----------
echo.
echo [3/4] 检查 SCons ...
"%PY%" -c "import SCons" >nul 2>&1
if errorlevel 1 (
    echo    SCons 未安装,正在自动安装(使用清华镜像,请保持联网)...
    "%PY%" -m pip install scons -i [url=https://pypi.tuna.tsinghua.edu.cn/simple]https://pypi.tuna.tsinghua.edu.cn/simple[/url]
    if errorlevel 1 (
        echo.
        echo    [错误] SCons 安装失败。请检查网络,或手动执行:
        echo        "%PY%" -m pip install scons -i [url=https://pypi.tuna.tsinghua.edu.cn/simple]https://pypi.tuna.tsinghua.edu.cn/simple[/url]
        goto :fail
    )
)
echo    SCons 已就绪。


rem ---------- 第 4 步:编译 ----------
echo.
echo [4/4] 开始编译 ...
echo.

cd /d "%PROJ%"

set "SCONS=%PY%"
set "SCONSCMD=-m SCons"

set "EXTRA_FLAGS="
if "%USE_EXTRA%"=="1" (
    echo    正在安装可选驱动依赖(accesskit / angle / d3d12)...
    echo.
    "%PY%" misc\scripts\install_accesskit.py
    "%PY%" misc\scripts\install_angle.py
    "%PY%" misc\scripts\install_d3d12_sdk_windows.py
    echo.
) else (
    set "EXTRA_FLAGS=accesskit=no angle=no d3d12=no"
)

echo    编译参数:platform=windows target=editor arch=x86_64 !EXTRA_FLAGS!
echo    并行核心:%NUMBER_OF_PROCESSORS% 个
echo    预计耗时:20 ~ 40 分钟,请勿关闭本窗口
echo.
echo ------------------------------------------------------------
echo.

"%SCONS%" %SCONSCMD% platform=windows target=editor arch=x86_64 !EXTRA_FLAGS! -j%NUMBER_OF_PROCESSORS%

if errorlevel 1 (
    echo.
    echo ------------------------------------------------------------
    echo    [错误] 编译失败。
    echo    请把窗口上方最后 20 行左右的红色错误信息截图反馈。
    echo    常见原因参见 分析结果.md 的「常见问题排查」章节。
    goto :fail
)


rem ---------- 检查产物 ----------
echo.
echo ------------------------------------------------------------
echo.
if exist "%PROJ%\bin\godot.windows.editor.x86_64.exe" (
    echo ============================================================
    echo    编译成功!
    echo.
    echo    编辑器位置:
    echo    %PROJ%\bin\godot.windows.editor.x86_64.exe
    echo ============================================================
    echo.
    choice /c YN /n /m "是否立即启动编辑器?[Y=启动 / N=退出] "
    if errorlevel 2 goto :done
    start "" "%PROJ%\bin\godot.windows.editor.x86_64.exe"
    goto :done
) else (
    echo    [错误] 编译过程没有报错,但未找到产物文件。
    echo    请检查 bin 目录内容。
    goto :fail
)


:fail
echo.
echo 按任意键关闭窗口...
pause >nul
exit /b 1

:done
echo.
echo 按任意键关闭窗口...
pause >nul
exit /b 0

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
xiaoqianran + 1 + 1 优秀!!!支持!!!
netpeng + 1 + 1 优秀的工具,必须点赞!
pingooo + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-11 01:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表