UE4中的一些坑

  1. UE4中VS重新生成项目失败:这是因为UE4和VS同时开启导致的。UE4打开项目期间会锁定一些dll文件,而这些DLL文件恰好是通过VS生成的,在UE打开期间,VS是无法更改这些dll文件的。所以重新生成就会失败。但是生成会成功,生成类似于增量编译,目前我还不清楚是什么原因会出现这两种截然不同的现象。如果需要重新生成项目,则需要关闭UE4。再在VS中重新生成项目
  2. 启动项目失败,提示信息如下:Assertion failed: GIsHotReload****Trying to recreate class 'UAnimationImage' outside of hot reload!  界面如下:

UE4中的一些坑

这是由于UE4中的热重载失败导致的,在UE4项目中的Binary/Win64目录下(当时我是因为代码中有bug,在测试项目时恰好触发了这个bug,直接导致UE4运行crash掉了,但是在重启UE4的时候,没有在VS中重新编译生成项目,这就是生成和重新生成的区别,前者只是增量编译,后者是全部编译:干掉前一次的生成文件,再重新编译生成),会有各种带有数字的pdb和dl文件,这些带有数字的pdb和dll全部都是热重载生成的

 

打开项目配置文件UE4中的一些坑,显示:

UE4中的一些坑

各种配置不一致,才会导致项目启动失败。解决办法:打开VS重新生成项目动态库,然后再在UE中打开项目,重新编译生成后项目的module配置如下:

UE4中的一些坑

在对应的目录下都能找到相关的文件,此时项目有就能正常打开(其实第二个问题不是我发现的,是公司的同事宇哥发现的,我好像盗版了)