Generating dll while UE4 editor is opened

I noticed, that in 4.15 I cannot build c++ code while editor is opened. I had not such problem with 4.14. If I close the editor, it goes thru just fine.

Here is the error:

2>     Creating library C:\GameArtists\Unreal\GameSavePro\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-GameSavePro-1478.lib and object C:\GameArtists\Unreal\GameSavePro\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-GameSavePro-1478.exp
2>     Creating library C:\GameArtists\Unreal\GameSavePro\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-GameSavePro-1478.suppressed.lib and object C:\GameArtists\Unreal\GameSavePro\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-GameSavePro-1478.suppressed.exp
2>ERROR : UBT error : Failed to produce item: C:\GameArtists\Unreal\GameSavePro\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-GameSavePro-4536.lib
2>  Total build time: 3.89 seconds (Local executor: 0.00 seconds)
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command ""C:\Program Files (x86)\Epic Games\4.15\Engine\Build\BatchFiles\Build.bat" GameSaveProEditor Win64 Development "C:\GameArtists\Unreal\GameSavePro\GameSavePro.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
1 Like

Hi Flash7,

I just tried to recreate this issue in a new 4.15 project, and didnā€™t have any trouble doing a hot reload. Would you be able to provide some additional information?

  • Are you using the binary version of the Engine installed through the Launcher, or did you build the Engine from source code?
  • What version of Visual Studio are you using?
  • What changes to your code are you making?
  • How are you starting the build process?

I experienced same problem with EGL 4.15.0 Preview 4/Visual Studio 2015 Update2/some modification added ThirdPerson project.
DLL was successfully produced without error log but UBT reported fail.
After deleting Intermediate/ directory, the symptom had gone away and I canā€™t reproduce it.

Are you using the binary version of the Engine installed through the Launcher, or did you build the Engine from source code?
I run the Editor via Launcher

What version of Visual Studio are you using?
VS 2015 (update 3)

What changes to your code are you making?
I have a blueprint library. Every time I change a source code (.h and .cpp) and recompile, I have this problem.

How are you starting the build process?
In Visual Studio - build solution (F7)

If I close the editor, build goes thru just fine and I see in output:
2> Deleting old hot reload file: ā€œC:\GameArtists\Unreal\GameSavePro\Binaries\Win64\UE4Editor-GameSavePro-7218.dllā€.
2> Deleting old hot reload file: ā€œC:\GameArtists\Unreal\GameSavePro\Binaries\Win64\UE4Editor-GameSavePro-7218.pdbā€.

Weā€™re having similar issues, hot-reload is working correctly if we use the compile button in the editor, however building through visual studio successfully creates a DLL but the editor the fails to load it, which disables hot-reloading causing later hot-reload builds to fail to link in VS and the compile button to disappear. This is consistent across our team so itā€™s not specific to one machine although we all probably have a similar setup.

Win10, VS2015 Update3

VS and editor output below:

[3/4] Link UE4Editor-MyGame-27-Win64-DebugGame.dll
2> [4/4] Link UE4Editor-MyGame-27-Win64-DebugGame.lib
2> Creating library E:\dev\MyGame\Game\Intermediate\Build\Win64\UE4Editor\DebugGame\UE4Editor-MyGame-27-Win64-DebugGame.lib and object E:\dev\MyGame\Game\Intermediate\Build\Win64\UE4Editor\DebugGame\UE4Editor-MyGame-27-Win64-DebugGame.exp
2> Creating library E:\dev\MyGame\Game\Intermediate\Build\Win64\UE4Editor\DebugGame\UE4Editor-MyGame-27-Win64-DebugGame.suppressed.lib and object E:\dev\MyGame\Game\Intermediate\Build\Win64\UE4Editor\DebugGame\UE4Editor-MyGame-27-Win64-DebugGame.suppressed.exp
2> Deploying MyGameEditor Win64 DebugGameā€¦
2> Total build time: 14.43 seconds (Local executor: 5.37 seconds)

LogHotReload: New module detected: UE4Editor-MyGame-27-Win64-DebugGame.dll
LogHotReload: Starting Hot-Reload from IDE
LogSlate: Took 0.000244 seconds to synchronously load lazily loaded font ā€˜ā€¦/ā€¦/ā€¦/Engine/Content/Slate/Fonts/Roboto-Light.ttfā€™ (159K)
LogModuleManager:Warning: ModuleManager: Unable to load module ā€˜E:/dev/MyGame/Game/Binaries/Win64/UE4Editor-MyGame-27-Win64-DebugGame.dllā€™ because the file couldnā€™t be loaded by the OS.
Warning: HotReload failed, reload failed /Script/MyGame.
LogContentBrowser: Native class hierarchy populated in 0.0141 seconds. Added 2327 classes and 487 folders.
Display: HotReload took 0.1s.

Do you get the same result if you right-click on the project in Visual Studioā€™s Solution Explorer and select the Build option?

Wierdly the first time I did a right click on the project build I got hundreds of duplicate function linker errors, but since then Iā€™m getting the same behaviour as using F7/Ctrl+Shift+B

, yes, there is the same error if I select Build from solution explorer.

Hi ,

Iā€™m not at all certain, but I think it may be related to building plugins. We have a code plugin in the game directory rather than installed into the engine. The VS built hot-reload dll for the game has a dependency on a hot-reload dll for the plugin, however the plugin hot-reload dll hasnā€™t been output by the build process, although a lib and exp have. When building through the editor the game hot-reload dll has a dependency on the base plugin dll instead.

i.e.
VS: game-437-win.dll ā†’ plugin-437-win.dll (missing)
Editor: game-437-win.dll ā†’ plugin-win.dll

Cheers,

Nick

Thank you for the clarification everyone. Using a project that contained a plugin, I was able to see the error message that was described. I am curious to know if the hot reload is actually failing for you, though. In my case, Visual Studio was reporting the build failed with that error message, but in the Editor the changes were available (only changes to project code, plugins currently do not get hot reloaded).

Unfortunately thatā€™s not the case for me, the code changes (in the primary game dll) arenā€™t going through to the editor.

, I tried to replicate it on different c++ projects (no plug-ins), and I see that the same error on each of them if an editor is opened. Just for clarification, it worked well in 4.12-4.14. This type of error showed up only in 4.15

Thatā€™s unfortunate, I thought I had managed to reproduce what you were seeing. I will have to look into this further next week. Would it be at all possible to get a sample project that I could compare with my setup to see where I am doing things differently?

Here is a reproducible step I found with EGL 4.15.0.

  • Launch EGL 4.15.0 from EGL

  • Create a new C++ ThirdPerson project (named tps16)

  • edit and save tps16.cpp (no actual modification needed)

  • Build with VS2015 (and hot reload DLL is generated successfully)

  • Finish UE4Editor.exe (with its window close button)

  • execute UE4Editor.exe(with double click on tps16.uproject)

  • edit and save tps16.cpp (no actual modification needed)

  • Build with VS2015(Ctrl+Shift+B)

  • and then DLL is generated successfully but UBT reports failed

    2>Build:
    2> Compiling game modules for hot reload
    2> [1/3] Compile tps16.cpp
    2> tps16.cpp
    2> [2/3] Link UE4Editor-tps16-8715.dll
    2> [3/3] Link UE4Editor-tps16-6471.lib
    2> ??? C:\proj2\ue415sample\tps16\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tps16-8715.lib ??? C:\proj2\ue415sample\tps16\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tps16-8715.exp ???
    2> ??? C:\proj2\ue415sample\tps16\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tps16-8715.suppressed.lib ??? C:\proj2\ue415sample\tps16\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tps16-8715.suppressed.exp ???
    2> -------- End Detailed Actions Stats -----------------------------------------------------------
    2> 1>
    2>ERROR : UBT error : Failed to produce item: C:\proj2\ue415sample\tps16\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tps16-6471.lib

Donā€™t care ā€œ???ā€ which is because UBT canā€™t handle Japanese character. These lines means success.
I noticed .lib are numbered wrongly in log. Actual generated .lib is UE4Editor-tps16-8715.lib.

I think this is related to Unreal Engine Issues and Bug Tracker (UE-42041)
(hot reload DLL is wrongly loaded when editor launched, without rebuild)

Iā€™ve also been getting the same error whenever doing runtime compiling from Visual Studio after upgrading from 4.14.3 to 4.15.0. Doing any modification to a .cpp or .h file and building while the editor is open causes the error, but if the editor is closed there is no problem.

Iā€™m not using any editor plugins and havenā€™t made any changes to the project or tried any new features since upgrading to 4.15.0.

1>------ Build started: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>------ Build started: Project: Project, Configuration: Development_Editor x64 ------
2>  Compiling game modules for hot reload
2>  Performing 3 actions (4 in parallel)
2>  ProjectComponent.cpp
2>  [2/3] Link UE4Editor-Project-8362.dll
2>  [3/3] Link UE4Editor-Project-3008.lib
2>     Creating library D:\UnrealProjects\Project\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Project-8362.lib and object D:\UnrealProjects\Project\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Project-8362.exp
2>     Creating library D:\UnrealProjects\Project\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Project-8362.suppressed.lib and object D:\UnrealProjects\Project\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Project-8362.suppressed.exp
2>ERROR : UBT error : Failed to produce item: D:\UnrealProjects\Project\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Project-3008.lib
2>  Total build time: 14.57 seconds (Local executor: 0.00 seconds)
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(37,5): error MSB3075: The command ""C:\Program Files\Epic Games\UE_4.15\Engine\Build\BatchFiles\Build.bat" ProjectEditor Win64 Development "D:\UnrealProjects\Project\Project.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Weirdly enough, the hot reload seems to be succeeding and reflecting the changes despite the errorā€¦

Hi Akihiro.Kayama,

Thank you for this repro case. I was able to use it to easily reproduce the issue without needing to use a plugin. I want to check a couple more things tomorrow, including upgrading projects to 4.15, but I think this is the issue that most people are seeing.

Hello everyone,

Thank you for the information that you have provided for this issue. I was able to reproduce the issue that I believe the majority of you are seeing, and reported it in UE-42205 for further investigation. If you are seeing different results from what I reported in that ticket, please continue to provide any additional information you may have specific to your results and I will keep trying to reproduce those results.

The workaround suggested doesnā€™t always work (for example in our case, it doesnā€™t work once).
Thatā€™s the error weā€™re getting. Iā€™ve reproduced the steps you specify in the Bug description on how to workaround it.
ā€œERROR : UBT error : Failed to produce item:
D:\Lucru\Cube\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-Cube-7736.libā€

One strange thing which I donā€™t think Iā€™ve seen before is the linking to 2 different file names (the lib is not the same as the dll).

> 1>  Compiling game modules for hot
> reload 1>  Performing 4 actions (4 in
> parallel) 1>  EnemySpawner.cpp 1> 
> TankStage3BossComponent.cpp 1>  [3/4]
> Link UE4Editor-Cube-7449.dll 1>  [4/4]
> Link UE4Editor-Cube-7736.lib

I have exacly the same problem since I updated to 4.15. It worked just fine in 4.14. Deleting the Intermediate folder and generating project files worked until i started the editor, closed it and opened it again afterwards.
Now again, i canā€™t build my projectā€¦