I can’t use GeometryMode structures - every time when I define a new object of class, for example,
FEdModeGeometry from “\Editor\GeometryMode\Public\GeometryEdMode.h” header, I get unresolved externals error. I tried everything - switching Actor class preamble from MYPROJECT_API to ENGINE_API or GEOMETRYMODE_API, using external class (what is strange, I can use those constructors in some normal class, but I can’t use them in my Actor’s methods), setting plugin names in different combinations. Here is the minimal example:
In Build.cs:
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "ProceduralMeshComponent", "GeometryMode" });
PrivateDependencyModuleNames.AddRange(new string[] { "GeometryMode" });
MyActor header:
#pragma once
#include "GameFramework/Actor.h"
#include "Editor/GeometryMode/Public/GeometryEdMode.h"
#include "MyActor2.generated.h"
UCLASS()
class TERRAINSANDBOX3_API AMyActor2 : public AActor
{
GENERATED_BODY()
public:
AMyActor2();
virtual void BeginPlay() override;
virtual void Tick( float DeltaSeconds ) override;
void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent){
FEdModeGeometry x = FEdModeGeometry();
}
};
Those conditions give me the following error:
1>MyActor2.cpp.obj : error LNK2019: unresolved external symbol "public: __cdecl FEdModeGeometry::FEdModeGeometry(void)" (??0FEdModeGeometry@@QEAA@XZ) referenced in function "public: virtual void __cdecl AMyActor2::PostEditChangeProperty(struct FPropertyChangedEvent &)" (?PostEditChangeProperty@AMyActor2@@UEAAXAEAUFPropertyChangedEvent@@@Z)
1>MyActor2.cpp.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl FEdModeGeometry::~FEdModeGeometry(void)" (??1FEdModeGeometry@@UEAA@XZ) referenced in function "public: virtual void __cdecl AMyActor2::PostEditChangeProperty(struct FPropertyChangedEvent &)" (?PostEditChangeProperty@AMyActor2@@UEAAXAEAUFPropertyChangedEvent@@@Z)
1>C:\UE4 Projects\TerrainSandbox3\Binaries\Win64\UE4Editor-TerrainSandbox3-4393.dll : fatal error LNK1120: 2 unresolved externals