UE5.6源码安卓打包报错

"Error: Multiple input files specified on command line: "../Plugins/FX/Niagara/Source/Niagara/Private/NiagaraDataInterfaceVectorField.ispc" and "= 6".37/39 Compile aarch64 FloatArrayMath.ispc

问题根源:ISPC 在 Android Arm64 交叉编译阶段出错

UE 5.5 之后 Epic 把 Intel ISPC(Single-Program/Multiple-Data CPU 向量编译器)默认强制打开,而引擎自带的 ISPC 版本目前仍然只针对 x86_64 主机编译器配置。当你用 UE 5.6 为 Android(arm64-v8a) 打包时,UBT 会把每个 *.ispc 文件交给同一个 Windows 主机上的 ispc.exe,并插入一个无效的 aarch64 目标参数。命令行里出现像

... NiagaraDataInterfaceVectorField.ispc --target=aarch64-neon-i32x4 = 6

= 6 被 ISPC 当成第二个输入文件,于是抛出:

Error: Multiple input files specified on command line: "...NiagaraDataInterfaceVectorField.ispc" and "= 6".

导致整个 Android 构建链条被中断

解决方案

  1. 把 ISPC 关掉只会让少数 Niagara/Chaos 的 CPU 路径退回到普通 C++ 实现,对移动设备来说几乎没有性能损失。直接在项目的Target.cs 和Editor.Target.cs加上,这是最快的解决方案。

bCompileISPC = false;

如果还不行的话,将 源码的UEBuildAndroid.cs的Target.bCompileISPC设置成false

UnrealEngine-5.6.0-release\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEBuildAndroid.cs

  1. 升级 ISPC 工具链
    https://github.com/ispc/ispc/releases 下载与主机平台对应的 ispc-v1.27.x 压缩包。将对应平台的执行文件替换

UnrealEngine-5.6.0-release\Engine\Source\ThirdParty\Intel\ISPC\bin

UnrealEngine-5.6.0-release\Engine\Source\ThirdParty\Intel\ISPCTexComp\ISPCTextureCompressor-14d998c\ISPC

相关推荐
YM52e1 小时前
分页查询的基石:ArkTS 为鸿蒙商品列表设计 LIMIT/OFFSET 的表
android·学习·华为·harmonyos
dong1326972 小时前
UE5FPS游戏开发教程(三)
ue5
安卓与AI研习社2 小时前
Android ANR 到底怎么定位?从触发原理到日志判断的完整方法
android
日月云棠3 小时前
UE5源码分析之Editor——AnimationBlueprintLibrary模块全面分析
ue5
阿pin4 小时前
Android随笔-MVI
android·mvi
leobertlan5 小时前
【好玩系列】训练一个神经网络指导小孩玩游戏
android·机器学习·程序员
Android-Flutter5 小时前
android LeakCanary 工作原理 详解
android·kotlin
newcih6 小时前
从原理到实战:LSPosed 模块开发完全指南(2026 修订版)
android·xposed·lsposed
AFinalStone6 小时前
Android 7系统无障碍服务(一)全景图与架构概览
android·无障碍服务
Android-Flutter7 小时前
android 自定义view 详解
android·kotlin