UE4编译报错:Unable to instantiate module ‘MyGameSDK‘: System.NullReferenceException: 未将对象引用设置到对象的实例

问题

编译报错:
2>UnrealBuildTool: Error  : Unable to instantiate module 'MyGameSDK': System.NullReferenceException: 未将对象引用设置到对象的实例。
                           在 MyGameSDK..ctor(ReadOnlyTargetRules Target) 位置 g:\ST6\MyGameMSource\Plugins\MyGameSDK\Source\MyGameSDK\MyGameSDK.Build.cs:行号 55
                        (referenced via MyGame.uproject -> MyGameSDK.uplugin)
2>Microsoft.MakeFile.Targets(45,5): Error MSB3075 : 命令“G:\ST6\EngineSource\Engine\Build\BatchFiles\Build.bat -Target="MyGameEditor Win64 Development -Project=\"G:\ST6\MyGameMSource\MyGame.uproject\"" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild”已退出,代码为 5。请验证您是否拥有运行此命令的足够权限。


 

尝试解决

它是 C# 中常见的错误,表示你尝试调用一个未初始化的对象(即为 null)的成员,而该对象没有被正确实例化。要解决此问题,需要检查代码,确保在调用对象方法或属性之前,该对象已经被正确创建并赋值。首先尝试绕开错误代码,但最后发现,是某些变量没有值,导致的,最后才查到是Config配置文件没有拉。下面是细节:

尝试在 G:\ST6\MyGameMSource\MyGame.uproject 修改后:
{
    "Name": "MyGameSDK",
    "Enabled": false,
    "WhitelistPlatforms": [
       "Win32",
       "Win64"
    ]
},

又有下一个deeplink 报错 了。再下一个是 XXPermission 插件。

八清理,即六清(Engine和项目的 Intermediate、Saved、DDC )的基础上,将 binaries 也都给删除、重拉binaries(引擎)、Generate、Setup、Switch、重启电脑,重编还是遇到同样问题。

MSVC latest 要选上,以及 19041 也要带上(我的工程的要求) ,然后再尝试。

最终结论

最后是 {项目}/Config 没有拉齐导致的,拉齐后继续编译,解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值