Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to compile the plugin with UE 5.4.0.2. Fedora Linux 40 #286

Open
HoneyHazard opened this issue Aug 9, 2024 · 2 comments
Open

Unable to compile the plugin with UE 5.4.0.2. Fedora Linux 40 #286

HoneyHazard opened this issue Aug 9, 2024 · 2 comments

Comments

@HoneyHazard
Copy link

UE Engine v 5.4.0.2
Fedora Linux 40

Tried both the marketplace version and v5.2.0 release on Github

Am I missing some prerequisite?

------ Building 3 action(s) started ------
[1/3] Compile Module.RealtimeMeshEditor.cpp
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:63:2: error: use of undeclared identifier 'FEditorDelegates'
        FEditorDelegates::OnMapOpened.AddLambda([this](const FString&, bool)
        ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:67:2: error: use of undeclared identifier 'FEditorDelegates'
        FEditorDelegates::OnMapLoad.AddLambda([this](const FString&, FCanLoadMap&)
        ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:67:63: error: unknown type name 'FCanLoadMap'
        FEditorDelegates::OnMapLoad.AddLambda([this](const FString&, FCanLoadMap&)
                                                                     ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:77:6: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
        if (GEditor && LumenUseCheckHandle.IsValid())
            ^~~~~~~
            GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:80:7: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
                if (GEditor->IsTimerManagerValid())
                    ^~~~~~~
                    GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:80:16: error: member reference type 'bool' is not a pointer
                if (GEditor->IsTimerManagerValid())
                    ~~~~~~~  ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:82:4: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
                        GEditor->GetTimerManager().Get().ClearTimer(LumenUseCheckHandle);
                        ^~~~~~~
                        GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:82:13: error: member reference type 'bool' is not a pointer
                        GEditor->GetTimerManager().Get().ClearTimer(LumenUseCheckHandle);
                        ~~~~~~~  ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:199:7: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
                if (GEditor && !LumenUseCheckHandle.IsValid())
                    ^~~~~~~
                    GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:202:8: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
                        if (GEditor->IsTimerManagerValid())
                            ^~~~~~~
                            GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:202:17: error: member reference type 'bool' is not a pointer
                        if (GEditor->IsTimerManagerValid())
                            ~~~~~~~  ^
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:204:5: error: use of undeclared identifier 'GEditor'; did you mean 'GIsEditor'?
                                GEditor->GetTimerManager().Get().SetTimer(LumenUseCheckHandle,
                                ^~~~~~~
                                GIsEditor
/mnt/data/unreal/Engine/Source/Runtime/Core/Public/CoreGlobals.h:213:22: note: 'GIsEditor' declared here
extern CORE_API bool GIsEditor;
                     ^
In file included from /home/admin/unreal/vsc_experiments_ue5/minimal_0/Plugins/RuntimeMeshComponent/Intermediate/Build/Linux/x64/UnrealEditor/Development/RealtimeMeshEditor/Module.RealtimeMeshEditor.cpp:2:
/mnt/data/unreal/vsc_experiments_ue5/vsc_plugins/RuntimeMeshComponent/Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp:204:14: error: member reference type 'bool' is not a pointer
                                GEditor->GetTimerManager().Get().SetTimer(LumenUseCheckHandle,
                                ~~~~~~~  ^
13 errors generated.
@HoneyHazard
Copy link
Author

Okay, I see now there was a commit f4f3c8d, which says it "added missing include" of Editor.h. But, unfortunately, it seems to have done the opposite, and has, in fact, removed the crucial include line, and has thus broken the compilation in master. And, I believe, the 5.2.0 tag and the marketplace version are also failing because of missing #include "Editor.h". I hope you fix this soon and more folks can enjoy your wonderful plugin fresh out of the box :)

@executionunit
Copy link

I'm building from master (in the pro repo) in Windows and it builds/runs fine in dev and shipping. Kind of implies there is a bug in UnrealBuiltTool or Epics header guards somewhere. I can confirm that adding #include "Editor.h" in to Source/RealtimeMeshEditor/Private/RealtimeMeshEditor.cpp doesn't break the windows build. Guess it's just one of those things.

Why not make a PR with the include back in?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants