ue4 c++ 定位打包错误地点的方法

仅记录自己遇到的打包问题以及解决的方法,有空会搜寻别的童鞋的打包解决方案。

一、断点+ -game

1.1、根据报错信息找到对应文件函数地址

以4.26才遇到的打包问题Cannot create SoftObjectPath with short package name ‘False’ ! You must pass in fully qualified package names.为例
在这里插入图片描述

1.2、找到该文件并在该文件下ctrl+F找到对应报错信息地址,添加断点

在这里插入图片描述

1.3、打开VS,属性->Debug->命令参数,添加-game

在这里插入图片描述

1.4、编译运行,进入game模式后打包的问题基本都能重现并触发断点,然后就是不断查找调用栈找到最初的错误(问题已经处理了,所以没法演示贴图)

找到的问题:蓝图资源损坏?但是所有逻辑全部正常。删除后可以正常打包,不删除即便把调用节点全部清空也会打包失败。
解决方式:(UE4.26)新建一个新蓝图,把原代码全部拷贝后删除原蓝图便可正常打包。
不愧是虚幻,魔幻现实主义

1.5、打包时部分蓝图资源出现 has been saved with empty engine version 警告,(仅4.26 4.27有这个问题)

在这里插入图片描述

1.进入UE4引擎中的UE_4.26\Engine\Binaries\Win64目录
2.点击地址框,输入cmd进入命令窗口
在这里插入图片描述
3.执行对应命令:

UE4Editor-Cmd.exe 项目路径\项目名.uproject -Run=ResavePackages -PackageSubstring=/Game/

在这里插入图片描述

### 回答1: 这个错误消息提示你的 `_videoPlayerController` 变量没有被初始化,也就是说这个变量没有被赋值或赋初始值。 你需要在使用这个变量之前进行初始化,例如: ``` _videoPlayerController = VideoPlayerController.asset("assets/videos/my_video.mp4"); ``` 或者使用一个初始化函数,如: ``` _videoPlayerController = VideoPlayerController.network( "http://www.example.com/my_video.mp4", ); ``` ### 回答2: "videoPlayerController has not been initialized" 这个错误是指videoPlayerController对象尚未被初始化。 在编程中,我们通常需要先创建对象并将其初始化,然后才能使用它们。如果一个对象没有被正确初始化,就会出现类似上述的错误。 要解决这个问题,我们需要确保在使用videoPlayerController之前先对其进行了正确的初始化。这通常包括以下几个步骤: 1. 导入所需的库或模块,以确保可以正确使用videoPlayerController。 2. 创建一个新的videoPlayerController对象,可以使用构造函数或者其他提供的方法。 3. 调用相关的初始化函数或方法,以配置videoPlayerController的属性和其他必要的参数。这可能包括设置视频文件路径、音频配置、尺寸等等。 4. 确保在使用videoPlayerController之前,它已经完成了初始化过程。这通常可以通过检查对象是否为null或者其他判断条件来进行验证。 如果在使用videoPlayerController时仍然遇到同样的错误,可能需要检查初始化过程中的每个步骤,确保没有遗漏或者错误的设置。另外,还可以查阅相关文档、寻求社区支持或者借助调试工具来帮助定位和解决问题。 总之,"videoPlayerController has not been initialized" 错误通常是因为视频播放器对象没有被正确初始化所导致的,需要进行适当的初始化操作来解决该问题。 ### 回答3: _videoPlayerController has not been initialized是一个错误信息,通常出现在使用视频播放器控制器时遇到的问题。这个错误通常说明我们在使用视频播放器之前没有正确地初始化视频播放器控制器。 要解决这个问题,我们需要在使用视频播放器之前,确保正确地初始化视频播放器控制器。在应用程序的适当位置,我们应该实例化_videoPlayerController对象,并给它分配一个有效的视频资源。 一个正确的初始化过程可能包括以下步骤: 1. 导入视频播放器控制器的相关库或框架。 2. 实例化一个VideoPlayerController对象,可以通过指定视频资源的路径或网络URL来创建。 3. 使用VideoPlayerController对象加载视频资源,通常可以调用load()或initialize()方法4. 为了正确地显示视频,通常需要在页面上放置一个VideoPlayer widget,并将VideoPlayerController与它关联起来。 如果仍然遇到_videoPlayerController has not been initialized错误,可能是由于以下原因之一: 1. 视频资源的路径或URL不正确,在初始化VideoPlayerController时需要确保指定正确的路径或URL。 2. 视频资源无效或丢失,如果视频资源不存在或不可访问,将导致初始化失败。 3. 视频播放器控制器的版本不兼容,某些版本的控制器可能需要特定的依赖项或配置。 解决此错误可能需要对代码进行调试和检查。可以尝试打印日志,确认_videoPlayerController对象是否成功实例化,并检查视频资源的路径或URL是否正确。还可以参考相关的文档、论坛或开发者社区,以获取更多关于_videoPlayerController的初始化和使用的信息和建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值