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

相关推荐
2501_9444480035 分钟前
Flutter for OpenHarmony衣橱管家App实战:支持我们功能实现
android·javascript·flutter
2601_9498333910 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
2603_9494621012 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
王泰虎14 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
AI视觉网奇15 小时前
metahuman 购买安装记录
笔记·学习·ue5
速冻鱼Kiel16 小时前
虚幻状态树解析
ue5·游戏引擎·虚幻
2601_9495430118 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
2601_9498333919 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘19 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
鸟儿不吃草19 小时前
android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed
android·retrofit