我正在尝试设置一个基于Windows server的持续集成服务器,以完全构建和打包一个虚幻引擎4项目。这个过程的绝大部分都是有效的,但在内容制作阶段,我总是遇到以下错误:
********** COOK COMMAND STARTED **********
Running UE4Editor Cook for project C:\workspace\CEIT_ingame-native-plugins_PR-44\sampleProjects\unreal\ShooterGame26\ShooterGame.uproject
Commandlet log file is C:\Unreal426\Windows\Engine\Programs\AutomationTool\Saved\Cook-2021.07.05-13.56.23.txt
Running: C:\Unreal426\Windows\Engine\Binaries\Win64\UE4Editor-Cmd.exe C:\workspace\CEIT_ingame-native-plugins_PR-44\sampleProjects\unreal\ShooterGame26\ShooterGame.uproject -run=Cook -TargetPlatform=WindowsClient -fileopenlog -ddc=DerivedDataBackendGraph -unversioned -abslog=C:\Unreal426\Windows\Engine\Programs\AutomationTool\Saved\Cook-2021.07.05-13.56.23.txt -stdout -CrashForUAT -unattended -NoLogTimes -UTF8Output
LogInit: Display: Running engine for game: ShooterGame
LogModuleManager: Warning: ModuleManager: Unable to load module 'C:/Unreal426/Windows/Engine/Binaries/Win64/UE4Editor-OpenGLDrv.dll' because the file couldn't be loaded by the OS.
LogModuleManager: Warning: ModuleManager: Unable to load module 'C:/Unreal426/Windows/Engine/Plugins/Lumin/MagicLeap/Binaries/Win64/UE4Editor-MagicLeap.dll' because the file couldn't be loaded by the OS.
Took 14.257796s to run UE4Editor-Cmd.exe, ExitCode=1
ERROR: Cook failed.
(see C:\Users\jenkins\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Unreal426+Windows\Log.txt for full exception trace)
AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
BUILD FAILED具体地说,UE4Editor-OpenGLDrv.dll和UE4Editor-MagicLeap.dll无法加载,但没有任何明确的迹象说明为什么会出现这种情况,只是“文件无法被操作系统加载”。除了上面的信息之外,写入磁盘的日志文件不会告诉我更多信息。我已经验证了这两个DLL实际上都存在于CI服务器上,所以我怀疑缺少一些其他的子依赖项。
在Windows中有没有什么简单的方法可以精确地找出DLL加载失败的原因?我似乎记得Windows DLL加载错误消息远不及Linux上的信息丰富,但也许有一种我不熟悉的工具或更简单的方法可以解决这个问题。
编辑:我已经在一定程度上缩小了范围-如果我试图在我自己的程序中完全动态地加载glu32.dll,我会得到加载错误Could not load C:\Windows\System32\glu32.dll: The specified procedure could not be found.,因为这是在加载尝试中,而不是试图查找一个函数,这意味着在glu32.dll的子依赖项上缺少一些过程,但我不知道如何去识别它是哪一个。
发布于 2021-11-11 00:30:23
您可以尝试删除Engine/Intermediate,然后单击GenerateProjectFiles.bat重新生成整个项目。如果您使用UE源代码启动,请参阅UE documentation和使用Visual Studio重新生成。如果您使用ue4编辑器启动缺少dll,只需像第三方一样在YourProject.build.cs中添加依赖项,请参阅UE document。
https://stackoverflow.com/questions/68258600
复制相似问题