microdee/UE4-SpaceMouse

UE5: Compilation issue

DanMcLaughlin opened this issue · 7 comments

I get the following error whenever SpaceMouse is enabled, do the files need to be read-write or another issue?

image

Is there other output/warning mentioning SpaceMouse during build? Did you make this from a clean build?

Yes sorry should have mentioned. This is using Rider for Unreal Engine (which in theory shouldn't matter, it's just the IDE using the same Microsoft and Unreal tools for building). I've created several projects and it happens across all of them. The files are there obviously, the mouse works, but there's this issue preventing compilation.

Ah ha, here's some more info

`Creating makefile for (no existing makefile)
WARNING: HIDUE module has shared PCHs disabled, but does not have a private PCH set
I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Source\HIDUE\HIDUE.Build.cs: warning: Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/HIDUE.h") from UE 4.21 onwards.
WARNING: SpaceMouseReader module has shared PCHs disabled, but does not have a private PCH set
I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Source\SpaceMouseReader\SpaceMouseReader.Build.cs: warning: Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/Buttons.h") from UE 4.21 onwards.
WARNING: SpaceMouseRuntime module has shared PCHs disabled, but does not have a private PCH set
I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Source\SpaceMouseRuntime\SpaceMouseRuntime.Build.cs: warning: Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/INavigationMethod.h") from UE 4.21 onwards.
WARNING: SpaceMouse module has shared PCHs disabled, but does not have a private PCH set
I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Source\SpaceMouse\SpaceMouse.Build.cs: warning: Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/SmEditorManager.h") from UE 4.21 onwards.
@progress push 5%
Parsing headers for InnsmouthEditor
Running UnrealHeaderTool "I:\Perforce<GAME>5.0<GAME>.uproject" "I:\Perforce<GAME>5.0\Intermediate\Build\Win64<GAME>\Development<GAME>.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\Dan\AppData\Local\UnrealBuildTool\Log_UHT.txt" -installed
Reflection code generated for in 3.8410525 seconds
@progress pop
ERROR: Building would modify the following engine files:

   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-HIDUE.dll
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-HIDUE.pdb
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouse.dll
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouse.pdb
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouseReader.dll
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouseReader.pdb
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouseRuntime.dll
   I:\Engine\UE_5.0EA\Engine\Plugins\Marketplace\SpaceMouse\Binaries\Win64\UnrealEditor-SpaceMouseRuntime.pdb
   
   Please rebuild from an IDE instead.`

@microdee looks like the warnings are telling you the fix?

ERROR: Building would modify the following engine files:

that's the most important line. warnings are fine here.
I think I've built the pre-built release for the first preview of UE 5.0. For any update plugins have to be rebuilt as well.

can you test the following:

  1. Clone this project (recursively) https://github.com/microdee/UE4-SpaceMouse-TestProject#build-spacemouse-for-unreal-engine
  2. In powershell inside that project's folder make a release via: (without '>' of course)
    > .\build.cmd --target Checkout --unreal-version 5.0.0EA
    ...
    > .\build.cmd --target MakeRelease --unreal-version 5.0.0EA
    
  3. Results should be put inside .deploy folder. Copy that into your engine plugins
  • (you don't have to generate project files or open editor for this)

Sorry got diverted for a few days.

One issue on teh clone

git clone --recursive https://github.com/microdee/UE4-SpaceMouse-TestProject#build-spacemouse-for-unreal-engine
Cloning into 'UE4-SpaceMouse-TestProject#build-spacemouse-for-unreal-engine'...
fatal: https://github.com/microdee/UE4-SpaceMouse-TestProject#build-spacemouse-for-unreal-engine/info/refs not valid: is this a git repository?

however removing the "#build-spacemouse-for-unreal-engine" part worked. And ... yes, it works! Better than before even. I was getting some stuttering, seems like it's better now.

Thanks @microdee!

yeah I meant you also follow some docs on that repository, of course git will not accept id anchors as remotes. sorry about the confusion.
I'm glad it worked out, can I close this issue then?