BLUI-Unreal icon indicating copy to clipboard operation
BLUI-Unreal copied to clipboard

Linux support

Open technicalwonderland opened this issue 3 years ago • 4 comments

Hey,

I have a newest version of CEF, but after adding all lib files into appropriate folders into ThirdParty I get those issues:


In file included from /home/adam/perforce/StreamingVlc/Plugins/BLUI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/Blu/Module.Blu.gen.cpp:4:
In file included from /home/adam/perforce/StreamingVlc/Plugins/BLUI/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/Blu/BluEye.gen.cpp:8:
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:264:12: error: use of undeclared identifier 'CefBrowser'
        CefRefPtr<CefBrowser> browser;
                  ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:271:3: error: unknown type name 'CefWindowInfo'
                CefWindowInfo info;
                ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:272:3: error: no template named 'CefRefPtr'
                CefRefPtr<BrowserClient> g_handler;
                ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:273:3: error: unknown type name 'CefBrowserSettings'
                CefBrowserSettings browserSettings;
                ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:292:3: error: unknown type name 'CefMouseEvent'
                CefMouseEvent mouse_event;
                ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:293:3: error: unknown type name 'CefKeyEvent'
                CefKeyEvent key_event;
                ^
/home/adam/perforce/StreamingVlc/Plugins/BLUI/Source/Blu/Public/BluEye.h:57:2: error: cannot initialize return object of type 'UObject *' with an rvalue of type 'UBluEye *'
        GENERATED_BODY()
        ^~~~~~~~~~~~~~~~

Apart from standard libs I also added more, here is part of Blu.Build.cs :


			PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "cef/Linux/lib", "libcef.so"));
			PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "cef/Linux/lib", "libEGL.so"));
			PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "cef/Linux/lib", "libGLESv2.so"));
			PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "cef/Linux/lib", "libcef_dll_wrapper.a"));

			PublicIncludePaths.AddRange(
				new string[] {
					Path.Combine(ThirdPartyPath, "cef/Linux")
				});

Those libraries I've got from official download website. I also tried to build with this instruction, but BluBrowser: https://github.com/getnamo/BluBrowser but this also did not help.

Could you be so kind and help out with this one?

Kind Regards, Adam.

technicalwonderland avatar Aug 30 '21 17:08 technicalwonderland

There currently isn't a linux build. You'll need to modify BluBrowser to make a process equivalent of blu_ue4_process.exe found in BLUI/ThirdParty/cef/Win/shipping along with matching static libs. It's quite an involved process unfortunately and why we don't currently have a linux build unless a programmer spends the time and resources to make one.

getnamo avatar Dec 14 '21 19:12 getnamo

can't you just download the cef precompiled binaries for the linux build and place it there? same if you want a newer version of cef on windows?

nekwo avatar Dec 18 '22 00:12 nekwo

if not is there a specific way it needs to be built for unreal?

nekwo avatar Dec 18 '22 00:12 nekwo

See https://github.com/getnamo/BluBrowser for solution to build the process. I believe only minor modifications are used for the build.

getnamo avatar Dec 18 '22 00:12 getnamo