本随笔主要记录Launch的问题解决。

  UE4打包遇到的问题层出不穷,有些比较急的时候,只能用Launch来将就一下。

  但Launch也会遇到各种问题,这里解决一个记录一个。

 

1. Launch failed! Missing UE4Game binary.

  具体问题如图:

  

 

   缺失UE4二进制,如下图Launch一下就好了。

  

 

   

  如果Launch失败了,则需要处理一下具体问题了。

  用命令行执行Launch可以具体知道哪里出现了问题(虽然可能会误报就是了。如果出现误报(如VS哪里出现了问题了),把这个提示的错误临时解决了,然后再进行Launch,重复此操作,直到把真正的错误解决了,再把误报的修改复原。)

  参考文章:https://wiki.unrealengine.com/How_to_package_your_game_with_commands

  首先要找到UE4本体所在位置,这个很简单,自行查找。

  然后找到RunUAT,在此位置(以我的UE4安装在D盘为例子):D:\Program Files\Epic Games\UE_4.18\Engine\Build\BatchFiles

  长这个样子:

  

 

  然后,找到我们准备Launch的项目(例子:E:\TestPackage\TestPackage.uproject);

  然后,准备一个文件夹来放置Launch成功后的内容(例子:E:\Output)

  最后,调出命令行,执行命令:D:\Program Files\Epic Games\UE_4.18\RunUAT BuildCookRun -project="E:\TestPackage\TestPackage.uproject" -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory="E:\Output"

  

 

   回车,执行命令。

  如果成功了,去对应的文件夹找该内容;

  如果失败了,按照对应的提示去所在目录找Log文件:

  例子:

  

 

   然后在log里查找error就可以找到具体的问题点。

   

2. 在未指定异常处理模式的情况下使用了“noexcept”;不一定会在异常时终止。

  如图:

 

 

   这个是VS的问题,官方给的解答是去设置 /ehsc编译器选项。(但我找不到设置的方法=_=)。

  官方解答地址:https://docs.microsoft.com/zh-cn/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4577?view=vs-2019

  另一种解决方法是,在项目里强制跳过异常,做法是在项目的Target.cs文件下,添加代码:

  

 

   编译即可。