mgerhardy / EclipseSourceCodeAccess

ISourceCodeAccessor implementation for Unreal 4 and Eclipse
MIT License
1 stars 5 forks source link

Error when compiling UE4.12 / Ubuntu LTS 12.04 #3

Open eje211 opened 8 years ago

eje211 commented 8 years ago

When following the instructions on the Linux Issues page of UE4 https://wiki.unrealengine.com/Linux_Known_Issues#C.2B.2B_projects_and_IDE.27s, I get the following:

$ make UE4Editor
bash "/.../UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Editor Linux Development  
Building UE4Editor...
Using clang version '3.5.0' (string), 3 (major), 5 (minor), 0 (patch)
Creating makefile for UE4Editor (no existing makefile)
/bin/sh  -c '/bin/sh "/.../src/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/FixDependencies.sh" && touch "/.../UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/UE4Editor.link"'
Performing 3 actions (8 in parallel)
[1/3] Compile Module.EclipseSourceCodeAccess.cpp
In file included from /.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/EclipseSourceCodeAccess/Module.EclipseSourceCodeAccess.cpp:2:
In file included from /.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Source/EclipseSourceCodeAccess/Private/EclipseSourceCodeAccessModule.cpp:3:
/.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Source/EclipseSourceCodeAccess/Private/EclipseSourceCodeAccessModule.h:13:29: error: field type 'FEclipseSourceCodeAccessor' is an abstract class
        FEclipseSourceCodeAccessor EclipseSourceCodeAccessor;
                                   ^
Developer/SourceCodeAccess/Public/ISourceCodeAccessor.h:18:15: note: unimplemented pure virtual method 'RefreshAvailability' in 'FEclipseSourceCodeAccessor'
        virtual void RefreshAvailability() = 0;
                     ^
In file included from /.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/EclipseSourceCodeAccess/Module.EclipseSourceCodeAccess.cpp:2:
/.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Source/EclipseSourceCodeAccess/Private/EclipseSourceCodeAccessModule.cpp:5:1: error: cannot initialize return object of type 'IModuleInterface *' with an rvalue
      of type 'FEclipseSourceCodeAccessModule *'
IMPLEMENT_MODULE(FEclipseSourceCodeAccessModule, EclipseSourceCodeAccess);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runtime/Core/Public/Modules/ModuleManager.h:694:11: note: expanded from macro 'IMPLEMENT_MODULE'
                        return new ModuleImplClass(); \
                               ^~~~~~~~~~~~~~~~~~~~~
2 errors generated.
ERROR: UBT ERROR: Failed to produce item: /.../UnrealEngine/Engine/Plugins/Developer/EclipseSourceCodeAccess/Binaries/Linux/libUE4Editor-EclipseSourceCodeAccess.so
Total build time: 20.40 seconds
make: *** [UE4Editor] Error 5

I think that the code is trying to instantiate an abstract class.

I tried to add an empty implementation of RefreshAvailability in EclipseSourceCodeAccessor. That compiled and the plugin appeared in the Unreal Editor, but it never generated a .cproject file.

mgerhardy commented 8 years ago

most likely things have changed since i opened this pr. unfotunately i have lost interest - feel free to adopt