ue4项目工程目录在哪_UE4问题记录

61200549e482c89faae46a93e9570319.png

近期开始使用UE4,由于UE的资料相比Unity来说少一些,因此把自己遇到的一些坑记录下来,方便后续查看,也方便遇到同样问题的童鞋可以及时解决。

本文会不断补充新遇到的问题。

因为是刚开始接触UE,有说的不正确的地方请及时指正,感谢!

Windows包启动时找不到dll(UE4.24)

UE4生成的Windows包在启动时无法找到dll,如图所示:

42db89efea06bb6781cbde81a67852d7.png

该dll是在.Build.cs中通过RuntimeDependencies添加的,在生成的Windows包中,其相对路径如下:

f41aea978620b5435ff40e6210fd014f.png

问题原因:通过RuntimeDependencies添加的依赖项,在启动时会加载,但UE不会根据添加时指定的路径去加载dll,因此dll文件必须和exe位于同一目录下。

解决方案:我们有两种解决方法

  1. 可以将依赖的dll拷贝到exe所在文件夹,然后添加到RuntimeDependencies中,这样生成的Windows包dll文件和exe就会位于同一目录下。
  2. UE提供了PublicDelayLoadDLLs来指定延迟加载的dll,添加到PublicDelayLoadDLLs中的依赖项在启动时不会被加载。因此我们可以将dll添加到PublicDelayLoadDLLs中,然后在运行时自己根据dll所在的路径去加载dll。类似如下的代码:

7d2f1f845a7435625ddd051092472c21.png

在.uplugin中配置的BlacklistPlatforms没有作用(UE4.24)

我们可以通过BlacklistPlatforms和WhitelistPlatforms来设置模块的编译平台,如图所示:

9730534ae26c809ba9948f3fddd9f167.png

当为模块设置BlacklistPlatforms时,就表明在目标平台下不要编译该模块。

今天在Linux下编译工程时,发现尽管配置了"BlacklistPlatforms": ["Linux"],但模块仍然会被编译。

问题原因:当模块被其他模块依赖时,如果依赖模块会在该平台被编译,则被依赖模块也会在该平台被编译(我们可以在.Build.cs中通过PrivateDependencyModuleNames或PublicDependencyModuleNames来设置模块的依赖项)。

尽管为B模块配置了"BlacklistPlatforms": ["Linux"],但由于A模块依赖于B模块,同时A模块会在Linux下被编译,因此B模块也会被编译。

解决方案:当依赖其他模块时,需要注意该模块的编译平台,以防出现错误。

编译AutomationTool时出现错误:The type or namespace name 'Management' does not exist in the namespace 'Windows'(UE4.24)

问题原因:默认情况下,UE会使用当前环境中最新的Windows SDK版本。我使用Visual Studio Installer 2017版本,可以安装的最高Windows SDK版本为17763,如图所示:

e542e70b1e5afef210b9aca5ac0d56e2.png

但该版本与UE4.24不兼容,在官网的文档中,说明需要安装Windows SDK 18362或更高的版本:

5fbf01c302335615ae3f444edc782e40.png

解决方案:可以通过微软官网下载适合版本的Windows SDK,安装后即可正确编译。

Windows 10 SDK - Windows app development​developer.microsoft.com

无法加载DefaultAnimCurveCompressionSettings(UE4.24)

项目在真机上运行时会崩溃,崩溃时的堆栈记录如图所示:

1891d5d68e760e8df8af1892e8e5d106.png

通过查看源码,发现是无法加载DefaultAnimCurveCompressionSettings对象。回翻Cook日志,发现类似如下的错误:CookResults: Warning: Unable to find package for cooking /Engine/Animation/DefaultAnimCurveCompressionSettings

打开项目工程,发现其实该资源是存在的,如图所示:

a7bb2a25b0419a355a09248a4ee01689.png

解决方案:通过如下选项修正资源重定向:

0b1eec49fc2ff1cd10700c08ceb9ad8c.png

然后删除工程目录下的SavedIntermediate文件夹,重新Cook即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值