proletariatgames / unreal.hx

Unreal.hx: Haxe Integration for Unreal
MIT License
423 stars 43 forks source link

[4.19] Linking not occurring while Editor is open #85

Open datee opened 6 years ago

datee commented 6 years ago

From my testing it seems linking / hotloading does not take place while the UE4 editor is open. Compiles ok, but does not link. By closing the editor and compiling again, linking is performed like normal.

Does not happen always, but quite often.

[Windows 10 / VS 2015 / Haxe 3.4.7]

waneck commented 6 years ago

How are you compiling it? By pressing the compile button on the editor or by compiling through Visual Studio?

On Mon, Apr 23, 2018, 06:37 Datee notifications@github.com wrote:

From my testing it seems linking / hotloading does not take place while the UE4 editor is open. Compiles ok, but does not link. By closing the editor and compiling again, linking is performed like normal.

Does not happen always, but quite often.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/proletariatgames/unreal.hx/issues/85, or mute the thread https://github.com/notifications/unsubscribe-auth/AAK3-22Gj4PGEE0CupBt1KqG8i1mZfocks5traDtgaJpZM4Tfjwh .

datee commented 6 years ago

I'm building from commandline, but the issue is the same with VS. Pressing the compile button in the Editor causes a hotload to happen, but the code changes are not picked up. Closing the editor and compiling again and the linking is performed as it should..

I did not have this issue with Unreal.hx and 4.17.

waneck commented 6 years ago

As far as I know, if you build on visual studio/command-line, it will try to replace your current dll, which will indeed fail in the linking phase. I don't think this has anything to do with Unreal.hx though, and would be the same in a project without it. Could you confirm that? There is a command-line argument you can pass on so that it compiles it with a suffix. I'm not sure what's the argument, but you can see it when clicking on the compile button on the editor.

What is more mysterious is why your changes are not getting picked up when clicking on the compile button inside the editor. My theory is that it is related to the previous failure - compiling with the compile button adds a -SkipLink option which may skip linking if no changes are detected. The issue is that since unreal.hx compiles the haxe code to a static library, it is not detected as a change and UBT skips linking in this case. We work around this issue by touching a small .cpp file every time there is a change to the static library. My theory is that once the first compilation fails at linking phase (because you are compiling inside visual studio), the next builds don't detect any change (because of the SkipLink option).

You can see if that's the case by deleting your Intermediate/Haxe directory, and then compiling again - this time through the editor's compile button.

datee commented 6 years ago

Ok, i've done more testing on this : -Deleting "Intermediate/Haxe" and recompiling will create new dll's and a hotload / code update occurs in both commandline / VS / from the editor, while the editor is open. -Writing c++ code only and compiling will produce new dll's and the editor hotloads without issue. -Writing Haxe code and compiling will not produce a new dll or hotload while the editor is open. But when closing the editor and compiling, dll is created as normal.

waneck commented 6 years ago

Thanks for the tests! Could you give me an example of what you are changing, as well as the build logs? Thanks!

datee commented 6 years ago

Hi. Sorry about not following up on this, i had a very busy schedule... But the issue is very much still the same even with the latest commits. It does not seem to matter what i change, the issue is always behaving similar.

-If i change some haxe code and build while the editor is open, it compiles but does not link -If the editor is closed it links like normal -Pure c++ changes links with the editor open

Here is the build output to compare, hope it helps:

*******************************************************************
:: Building the project from commandline while editor is closed :
*******************************************************************

Running process: C:\Program Files (x86)\FlashDevelop\Tools\fdbuild\fdbuild.exe "C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.hxproj" -ipc 9f0e3d56-2799-4f2a-9a17-1672dcf7b045 -version "3.4.7" -compiler "C:\HaxeToolkit\haxe" -notrace -library "C:\Program Files (x86)\FlashDevelop\Library" -target "BuildUE4Project"
Building SideScroller
Running Pre-Build Command Line...
cmd: tools\tasks\BuildTask.bat BuildUE4Project release SideScroller
Creating makefile for SideScrollerEditor (changes to external dependency)
Performing full C++ include scan (no include cache file)
BuildApi.Build.cs: Using Haxe
Calling Haxe
Calling the build tool with arguments --cwd "C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/BuildTool" compile-project.hxml -D "EngineDir=C:\Unreal\Engines\UE_4.19\Engine" -D "ProjectDir=C:\projects\PH\Playwall\Spill\SideScroller" -D "TargetName=SideScrollerEditor" -D "TargetPlatform=Win64" -D "TargetConfiguration=Development" -D "TargetType=Editor" -D "ProjectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject" -D "PluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx" -D UE_BUILD_CS
Building Haxe through the Build.cs file
C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/UhxBuild/UhxBuild.exe projectDir=C:\projects\PH\Playwall\Spill\SideScroller pluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx cppiaRecompile=false targetPlatform=Win64 engineDir=C:\Unreal\Engines\UE_4.19\Engine ueEditorCompile=false projectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject targetName=SideScrollerEditor targetType=Editor ueEditorRecompile=false skipBake=false targetConfiguration=Development extraStaticClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static,C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib] numProcessors=8 extraScriptClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts]
InitPlugin.hx:54: Updating game project...
InitPlugin.hx:72: No Build.hx / Target.hx files found. Skipping their compilation
haxe -version
3.4.7
UhxBuild.hx:759: Skipping extern baker since there is nothing to compile
UhxBuild.hx:1058: compiling Haxe
haxe --cwd C:\projects\PH\Playwall\Spill\SideScroller/Haxe --macro uhx.compiletime.main.Env.set(["UHX_EXTRA_COMPILERFLAGS=/FIForcePrintfCapture.h"]) arguments.hxml -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -cp C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/Static -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib -main UnrealInit -D static_link -D destination=C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib -D UHX_UNREAL_SOURCE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Source/SideScroller -D UHX_PLUGIN_PATH=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx -D UHX_UE_CONFIGURATION=Development -D UHX_UE_TARGET_TYPE=Editor -D UHX_UE_TARGET_PLATFORM=Win64 -D UHX_BAKE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -D UHX_BUILD_NAME=SideScroller-Win-Development-Editor -D HXCPP_DLL_EXPORT -D UE_VER=4.19 -D UE_PATCH=2 -cpp C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static --macro uhx.compiletime.main.CreateGlue.run(["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib"], ["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts"]) -D WITH_SERVER_CODE -D WITH_EDITOR -D WITH_EDITORONLY_DATA -D UE_EDITOR -D UE_BUILD_DEVELOPMENT -D PLATFORM_WINDOWS -dce no -debug -D HXCPP_M64 -D ABI=-MD -D scriptable -D WITH_CPPIA -D BUILDTOOL_VERSION_LEVEL=5 -D use-rtti-doc
haxe --cwd C:\projects\PH\Playwall\Spill\SideScroller/Haxe --macro uhx.compiletime.main.Env.set(["UHX_EXTRA_COMPILERFLAGS=/FIForcePrintfCapture.h"]) arguments.hxml -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -cp C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/Static -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib -main UnrealInit -D static_link -D destination=C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib -D UHX_UNREAL_SOURCE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Source/SideScroller -D UHX_PLUGIN_PATH=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx -D UHX_UE_CONFIGURATION=Development -D UHX_UE_TARGET_TYPE=Editor -D UHX_UE_TARGET_PLATFORM=Win64 -D UHX_BAKE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -D UHX_BUILD_NAME=SideScroller-Win-Development-Editor -D HXCPP_DLL_EXPORT -D UE_VER=4.19 -D UE_PATCH=2 -cpp C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static --macro uhx.compiletime.main.CreateGlue.run(["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib"], ["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts"]) -D WITH_SERVER_CODE -D WITH_EDITOR -D WITH_EDITORONLY_DATA -D UE_EDITOR -D UE_BUILD_DEVELOPMENT -D PLATFORM_WINDOWS -dce no -debug -D HXCPP_M64 -D ABI=-MD -D scriptable -D WITH_CPPIA -D BUILDTOOL_VERSION_LEVEL=5 -D use-rtti-doc
haxelib run hxcpp Build.xml haxe -Ddebug -DABI="-MD" -DBUILDTOOL_VERSION_LEVEL="5" -DHXCPP_DLL_EXPORT="1" -DHXCPP_M64="1" -DPLATFORM_WINDOWS="1" -DUE_BUILD_DEVELOPMENT="1" -DUE_EDITOR="1" -DUE_PATCH="2" -DUE_VER="4.19" -DUHX_BAKE_DIR="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Generated/Externs_Editor" -DUHX_BUILD_NAME="SideScroller-Win-Development-Editor" -DUHX_PLUGIN_PATH="C:\\projects\\PH\\Playwall\\Spill\\SideScroller\\Plugins\\UnrealHx" -DUHX_UE_CONFIGURATION="Development" -DUHX_UE_TARGET_PLATFORM="Win64" -DUHX_UE_TARGET_TYPE="Editor" -DUHX_UNREAL_SOURCE_DIR="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Source/SideScroller" -DWITH_CPPIA="1" -DWITH_EDITOR="1" -DWITH_EDITORONLY_DATA="1" -DWITH_SERVER_CODE="1" -Ddestination="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib" -Dhaxe3="1" -Dhaxe_ver="3.407" -Dhxcpp_api_level="331" -Dscriptable="1" -Dsource-header="Generated by Haxe 3.4.7" -Dstatic_link="1" -Duse-rtti-doc="1" -Duse_rtti_doc="1" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts/" -I"C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts/" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib/" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller\\Plugins\\UnrealHx/Haxe/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Generated/Externs_Editor/" -I"C:\\HaxeToolkit\\haxe\\extraLibs/" -I"" -I"C:\\HaxeToolkit\\haxe\\std/cpp/_std/" -I"C:\\HaxeToolkit\\haxe\\std/"
Creating C:/projects/PH/Playwall/Spill/SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static/obj/msvc1964-stat-debug/__pch/haxe/hxcpp.pch...
hxcpp.cpp

Compiling group: haxe
cl.exe -Iinclude -IC:/projects/PH/Playwall/Spill/SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Template/Shared -nologo /WX- /fp:precise -DHX_WINDOWS -GR -Od(optim-std) -Zi(optim-std) -FdC:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Haxe\SideScroller-Win-Development-Editor\Static\obj/msvc1964-stat-debug/vc.pdb(optim-std) -Zi(debug) -FdC:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Haxe\SideScroller-Win-Development-Editor\Static\obj/msvc1964-stat-debug/vc.pdb(debug) -Od(debug) -O2(release) -Os(optim-size) -FS -Oy- -c -EHs -GS- -IC:/HaxeToolkit/haxe/lib/hxcpp/3,4,188/include -DHXCPP_DEBUG -DSTATIC_LINK(static) -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_SCRIPTABLE(haxe) -DHXCPP_API_LEVEL=331(haxe) -D_CRT_SECURE_NO_DEPRECATE -D_ALLOW_MSC_VER_MISMATCH -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH -wd4996 ... tags=[haxe,static]
 - src/no/logic/uix/controllers/element/UIXElement.cpp
Link: libUnrealInit-debug.lib
Skipping cppia compilation because it was not needed
Haxe call executed in 00:00:44.0112440
Building Haxe through a pre-build script
Skipping pre-build script because hooks are disabled
Performing 1 actions (4 in parallel)
[1/1] Link UE4Editor-SideScroller.dll
   Creating library C:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-SideScroller.suppressed.lib and object C:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-SideScroller.suppressed.exp
Deploying SideScrollerEditor Win64 Development...
Total build time: 63,52 seconds (Local executor: 7,76 seconds)
Build succeeded
Done(0)

*******************************************************************
:: Building the project from commandline while editor is open :
*******************************************************************

Running process: C:\Program Files (x86)\FlashDevelop\Tools\fdbuild\fdbuild.exe "C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.hxproj" -ipc 9f0e3d56-2799-4f2a-9a17-1672dcf7b045 -version "3.4.7" -compiler "C:\HaxeToolkit\haxe" -notrace -library "C:\Program Files (x86)\FlashDevelop\Library" -target "BuildUE4Project"
Building SideScroller
Running Pre-Build Command Line...
cmd: tools\tasks\BuildTask.bat BuildUE4Project release SideScroller
Creating makefile for hot reloading SideScrollerEditor (changes to external dependency)
Compiling game modules for hot reload
BuildApi.Build.cs: Using Haxe
Calling Haxe
Calling the build tool with arguments --cwd "C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/BuildTool" compile-project.hxml -D "EngineDir=C:\Unreal\Engines\UE_4.19\Engine" -D "ProjectDir=C:\projects\PH\Playwall\Spill\SideScroller" -D "TargetName=SideScrollerEditor" -D "TargetPlatform=Win64" -D "TargetConfiguration=Development" -D "TargetType=Editor" -D "ProjectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject" -D "PluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx" -D UE_BUILD_CS
Building Haxe through the Build.cs file
C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/UhxBuild/UhxBuild.exe projectDir=C:\projects\PH\Playwall\Spill\SideScroller pluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx cppiaRecompile=false targetPlatform=Win64 engineDir=C:\Unreal\Engines\UE_4.19\Engine ueEditorCompile=false projectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject targetName=SideScrollerEditor targetType=Editor ueEditorRecompile=false skipBake=false targetConfiguration=Development extraStaticClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static,C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib] numProcessors=8 extraScriptClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts]
InitPlugin.hx:54: Updating game project...
InitPlugin.hx:72: No Build.hx / Target.hx files found. Skipping their compilation
haxe -version
3.4.7
UhxBuild.hx:759: Skipping extern baker since there is nothing to compile
UhxBuild.hx:1058: compiling Haxe
haxe --cwd C:\projects\PH\Playwall\Spill\SideScroller/Haxe --macro uhx.compiletime.main.Env.set(["UHX_EXTRA_COMPILERFLAGS=/FIForcePrintfCapture.h"]) arguments.hxml -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -cp C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/Static -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib -main UnrealInit -D static_link -D destination=C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib -D UHX_UNREAL_SOURCE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Source/SideScroller -D UHX_PLUGIN_PATH=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx -D UHX_UE_CONFIGURATION=Development -D UHX_UE_TARGET_TYPE=Editor -D UHX_UE_TARGET_PLATFORM=Win64 -D UHX_BAKE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -D UHX_BUILD_NAME=SideScroller-Win-Development-Editor -D HXCPP_DLL_EXPORT -D UE_VER=4.19 -D UE_PATCH=2 -cpp C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static --macro uhx.compiletime.main.CreateGlue.run(["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib"], ["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts"]) -D WITH_SERVER_CODE -D WITH_EDITOR -D WITH_EDITORONLY_DATA -D UE_EDITOR -D UE_BUILD_DEVELOPMENT -D PLATFORM_WINDOWS -dce no -debug -D HXCPP_M64 -D ABI=-MD -D scriptable -D WITH_CPPIA -D BUILDTOOL_VERSION_LEVEL=5 -D use-rtti-doc
haxe --cwd C:\projects\PH\Playwall\Spill\SideScroller/Haxe --macro uhx.compiletime.main.Env.set(["UHX_EXTRA_COMPILERFLAGS=/FIForcePrintfCapture.h"]) arguments.hxml -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -cp C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/Static -cp C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static -cp C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib -main UnrealInit -D static_link -D destination=C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib -D UHX_UNREAL_SOURCE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Source/SideScroller -D UHX_PLUGIN_PATH=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx -D UHX_UE_CONFIGURATION=Development -D UHX_UE_TARGET_TYPE=Editor -D UHX_UE_TARGET_PLATFORM=Win64 -D UHX_BAKE_DIR=C:\projects\PH\Playwall\Spill\SideScroller/Haxe/Generated/Externs_Editor -D UHX_BUILD_NAME=SideScroller-Win-Development-Editor -D HXCPP_DLL_EXPORT -D UE_VER=4.19 -D UE_PATCH=2 -cpp C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static --macro uhx.compiletime.main.CreateGlue.run(["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib"], ["C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts", "C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts"]) -D WITH_SERVER_CODE -D WITH_EDITOR -D WITH_EDITORONLY_DATA -D UE_EDITOR -D UE_BUILD_DEVELOPMENT -D PLATFORM_WINDOWS -dce no -debug -D HXCPP_M64 -D ABI=-MD -D scriptable -D WITH_CPPIA -D BUILDTOOL_VERSION_LEVEL=5 -D use-rtti-doc
haxelib run hxcpp Build.xml haxe -Ddebug -DABI="-MD" -DBUILDTOOL_VERSION_LEVEL="5" -DHXCPP_DLL_EXPORT="1" -DHXCPP_M64="1" -DPLATFORM_WINDOWS="1" -DUE_BUILD_DEVELOPMENT="1" -DUE_EDITOR="1" -DUE_PATCH="2" -DUE_VER="4.19" -DUHX_BAKE_DIR="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Generated/Externs_Editor" -DUHX_BUILD_NAME="SideScroller-Win-Development-Editor" -DUHX_PLUGIN_PATH="C:\\projects\\PH\\Playwall\\Spill\\SideScroller\\Plugins\\UnrealHx" -DUHX_UE_CONFIGURATION="Development" -DUHX_UE_TARGET_PLATFORM="Win64" -DUHX_UE_TARGET_TYPE="Editor" -DUHX_UNREAL_SOURCE_DIR="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Source/SideScroller" -DWITH_CPPIA="1" -DWITH_EDITOR="1" -DWITH_EDITORONLY_DATA="1" -DWITH_SERVER_CODE="1" -Ddestination="C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/haxeruntime.lib" -Dhaxe3="1" -Dhaxe_ver="3.407" -Dhxcpp_api_level="331" -Dscriptable="1" -Dsource-header="Generated by Haxe 3.4.7" -Dstatic_link="1" -Duse-rtti-doc="1" -Duse_rtti_doc="1" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts/" -I"C:/projects/PH/Playwall/Spill/SideScroller/Haxe/Scripts/" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib/" -I"C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller\\Plugins\\UnrealHx/Haxe/Static/" -I"C:\\projects\\PH\\Playwall\\Spill\\SideScroller/Haxe/Generated/Externs_Editor/" -I"C:\\HaxeToolkit\\haxe\\extraLibs/" -I"" -I"C:\\HaxeToolkit\\haxe\\std/cpp/_std/" -I"C:\\HaxeToolkit\\haxe\\std/"
Creating C:/projects/PH/Playwall/Spill/SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Static/obj/msvc1964-stat-debug/__pch/haxe/hxcpp.pch...
hxcpp.cpp

Compiling group: haxe
cl.exe -Iinclude -IC:/projects/PH/Playwall/Spill/SideScroller/Intermediate/Haxe/SideScroller-Win-Development-Editor/Template/Shared -nologo /WX- /fp:precise -DHX_WINDOWS -GR -Od(optim-std) -Zi(optim-std) -FdC:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Haxe\SideScroller-Win-Development-Editor\Static\obj/msvc1964-stat-debug/vc.pdb(optim-std) -Zi(debug) -FdC:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Haxe\SideScroller-Win-Development-Editor\Static\obj/msvc1964-stat-debug/vc.pdb(debug) -Od(debug) -O2(release) -Os(optim-size) -FS -Oy- -c -EHs -GS- -IC:/HaxeToolkit/haxe/lib/hxcpp/3,4,188/include -DHXCPP_DEBUG -DSTATIC_LINK(static) -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_SCRIPTABLE(haxe) -DHXCPP_API_LEVEL=331(haxe) -D_CRT_SECURE_NO_DEPRECATE -D_ALLOW_MSC_VER_MISMATCH -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH -wd4996 ... tags=[haxe,static]
 - src/no/logic/uix/controllers/element/UIXElement.cpp
Link: libUnrealInit-debug.lib
Skipping cppia compilation because it was not needed
Haxe call executed in 00:00:32.9199387
Building Haxe through a pre-build script
Skipping pre-build script because hooks are disabled
Target is up to date
Deploying SideScrollerEditor Win64 Development...
Total build time: 42,00 seconds (NoActionsToExecute executor: 0,00 seconds)
Build succeeded
Done(0)

*******************************************************************
:: Rebuild the project again right after closing the editor - it completes the linking :
*******************************************************************

Running process: C:\Program Files (x86)\FlashDevelop\Tools\fdbuild\fdbuild.exe "C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.hxproj" -ipc 9f0e3d56-2799-4f2a-9a17-1672dcf7b045 -version "3.4.7" -compiler "C:\HaxeToolkit\haxe" -notrace -library "C:\Program Files (x86)\FlashDevelop\Library" -target "BuildUE4Project"
Building SideScroller
Running Pre-Build Command Line...
cmd: tools\tasks\BuildTask.bat BuildUE4Project release SideScroller
Creating makefile for SideScrollerEditor (changes to external dependency)
BuildApi.Build.cs: Using Haxe
Calling Haxe
Calling the build tool with arguments --cwd "C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx/Haxe/BuildTool" compile-project.hxml -D "EngineDir=C:\Unreal\Engines\UE_4.19\Engine" -D "ProjectDir=C:\projects\PH\Playwall\Spill\SideScroller" -D "TargetName=SideScrollerEditor" -D "TargetPlatform=Win64" -D "TargetConfiguration=Development" -D "TargetType=Editor" -D "ProjectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject" -D "PluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx" -D UE_BUILD_CS
Building Haxe through the Build.cs file
C:\projects\PH\Playwall\Spill\SideScroller/Intermediate/Haxe/UhxBuild/UhxBuild.exe projectDir=C:\projects\PH\Playwall\Spill\SideScroller pluginDir=C:\projects\PH\Playwall\Spill\SideScroller\Plugins\UnrealHx cppiaRecompile=false targetPlatform=Win64 engineDir=C:\Unreal\Engines\UE_4.19\Engine ueEditorCompile=false projectFile=C:\projects\PH\Playwall\Spill\SideScroller\SideScroller.uproject targetName=SideScrollerEditor targetType=Editor ueEditorRecompile=false skipBake=false targetConfiguration=Development extraStaticClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Static,C:/dev/UnrealHx/Lib/shared/haxe/4.19/Lib] numProcessors=8 extraScriptClasspaths=[C:/dev/UnrealHx/Lib/shared/haxe/4.19/Scripts]
InitPlugin.hx:54: Updating game project...
InitPlugin.hx:72: No Build.hx / Target.hx files found. Skipping their compilation
haxe -version
3.4.7
UhxBuild.hx:759: Skipping extern baker since there is nothing to compile
Skipping static compilation because it was not needed
Skipping cppia compilation because it was not needed
Haxe call executed in 00:00:02.0936894
Building Haxe through a pre-build script
Skipping pre-build script because hooks are disabled
Performing 1 actions (4 in parallel)
[1/1] Link UE4Editor-SideScroller.dll
   Creating library C:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-SideScroller.suppressed.lib and object C:\projects\PH\Playwall\Spill\SideScroller\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-SideScroller.suppressed.exp
Deploying SideScrollerEditor Win64 Development...
Total build time: 18,73 seconds (Local executor: 8,05 seconds)
Build succeeded
Done(0)
datee commented 5 years ago

I'm on 4.21 now and the issue is still the same.. any updates to this? :)

waneck commented 5 years ago

Hi! Sorry for the long wait before answering this! What does tools\tasks\BuildTask.bat BuildUE4Project release SideScroller do?

datee commented 5 years ago

Its just a bat script to compile from commandline really : "%ENGINE_PATH%\Engine\Build\BatchFiles\Build.bat" %PROJECT_NAME%%EDITOR_BUILD_CONFIG% %EDITOR_BUILD_PLATFORM% %EDITOR_BUILD_TARGET% %PROJECT_FILE% -waitmutex -%VISUAL_STUDIO_VERSION%

I've done testing on this on many different computers and the problem is very consistent on all places i've tested. Hotreloading/linking doesnt happen at all any more. I have to close the editor and compile every time.