Description

This is not a regression. Tested in //UE4/Release-4.27 CL 18319896

Creating a new C++ class derived from Instance Foliage Actor fails to compile. User reported this issue after they tried to include LandscapeEdit.h in a C++ class.

Error from Output Log:

LogLiveCoding: Display: Starting Live Coding compile.
LogSlate: Window 'Add C++ Class' being destroyed
LogLiveCoding: Display:    Creating library C:\Users\PatrickBryant\Documents\Unreal Projects\LQA00480869_51\Binaries\Win64\UnrealEditor-LQA00480869_51.patch_0.lib and object C:\Users\PatrickBryant\Documents\Unreal Projects\LQA00480869_51\Binaries\Win64\UnrealEditor-LQA00480869_51.patch_0.exp
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Serialize(class FArchive &)" (?Serialize@AInstancedFoliageActor@@UEAAXAEAVFArchive@@@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Serialize(class FArchive &)" (?Serialize@AInstancedFoliageActor@@UEAAXAEAVFArchive@@@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Serialize(class FArchive &)" (?Serialize@AInstancedFoliageActor@@UEAAXAEAVFArchive@@@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Serialize(class FArchive &)" (?Serialize@AInstancedFoliageActor@@UEAAXAEAVFArchive@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostLoad(void)" (?PostLoad@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostLoad(void)" (?PostLoad@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostLoad(void)" (?PostLoad@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostLoad(void)" (?PostLoad@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2019: unresolved external symbol "public: static void __cdecl AInstancedFoliageActor::AddReferencedObjects(class UObject *,class FReferenceCollector &)" (?AddReferencedObjects@AInstancedFoliageActor@@SAXPEAVUObject@@AEAVFReferenceCollector@@@Z) referenced in function "private: static class UClass * __cdecl AMyInstancedFoliageActor2::GetPrivateStaticClass(void)" (?GetPrivateStaticClass@AMyInstancedFoliageActor2@@CAPEAVUClass@@XZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: static void __cdecl AInstancedFoliageActor::AddReferencedObjects(class UObject *,class FReferenceCollector &)" (?AddReferencedObjects@AInstancedFoliageActor@@SAXPEAVUObject@@AEAVFReferenceCollector@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual class ISMInstanceManager * __cdecl AInstancedFoliageActor::GetSMInstanceManager(struct FSMInstanceId const &)" (?GetSMInstanceManager@AInstancedFoliageActor@@MEAAPEAVISMInstanceManager@@AEBUFSMInstanceId@@@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual class ISMInstanceManager * __cdecl AInstancedFoliageActor::GetSMInstanceManager(struct FSMInstanceId const &)" (?GetSMInstanceManager@AInstancedFoliageActor@@MEAAPEAVISMInstanceManager@@AEBUFSMInstanceId@@@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual class ISMInstanceManager * __cdecl AInstancedFoliageActor::GetSMInstanceManager(struct FSMInstanceId const &)" (?GetSMInstanceManager@AInstancedFoliageActor@@MEAAPEAVISMInstanceManager@@AEBUFSMInstanceId@@@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual class ISMInstanceManager * __cdecl AInstancedFoliageActor::GetSMInstanceManager(struct FSMInstanceId const &)" (?GetSMInstanceManager@AInstancedFoliageActor@@MEAAPEAVISMInstanceManager@@AEBUFSMInstanceId@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl AInstancedFoliageActor::InternalTakeRadialDamage(float,struct FRadialDamageEvent const &,class AController *,class AActor *)" (?InternalTakeRadialDamage@AInstancedFoliageActor@@MEAAMMAEBUFRadialDamageEvent@@PEAVAController@@PEAVAActor@@@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl AInstancedFoliageActor::InternalTakeRadialDamage(float,struct FRadialDamageEvent const &,class AController *,class AActor *)" (?InternalTakeRadialDamage@AInstancedFoliageActor@@MEAAMMAEBUFRadialDamageEvent@@PEAVAController@@PEAVAActor@@@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl AInstancedFoliageActor::InternalTakeRadialDamage(float,struct FRadialDamageEvent const &,class AController *,class AActor *)" (?InternalTakeRadialDamage@AInstancedFoliageActor@@MEAAMMAEBUFRadialDamageEvent@@PEAVAController@@PEAVAActor@@@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl AInstancedFoliageActor::InternalTakeRadialDamage(float,struct FRadialDamageEvent const &,class AController *,class AActor *)" (?InternalTakeRadialDamage@AInstancedFoliageActor@@MEAAMMAEBUFRadialDamageEvent@@PEAVAController@@PEAVAActor@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostInitProperties(void)" (?PostInitProperties@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostInitProperties(void)" (?PostInitProperties@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostInitProperties(void)" (?PostInitProperties@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostInitProperties(void)" (?PostInitProperties@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::BeginDestroy(void)" (?BeginDestroy@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::BeginDestroy(void)" (?BeginDestroy@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::BeginDestroy(void)" (?BeginDestroy@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::BeginDestroy(void)" (?BeginDestroy@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Destroyed(void)" (?Destroyed@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Destroyed(void)" (?Destroyed@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Destroyed(void)" (?Destroyed@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::Destroyed(void)" (?Destroyed@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::IsListedInSceneOutliner(void)const " (?IsListedInSceneOutliner@AInstancedFoliageActor@@UEBA_NXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::IsListedInSceneOutliner(void)const " (?IsListedInSceneOutliner@AInstancedFoliageActor@@UEBA_NXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::IsListedInSceneOutliner(void)const " (?IsListedInSceneOutliner@AInstancedFoliageActor@@UEBA_NXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::IsListedInSceneOutliner(void)const " (?IsListedInSceneOutliner@AInstancedFoliageActor@@UEBA_NXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl AInstancedFoliageActor::GetDefaultGridSize(class UWorld *)const " (?GetDefaultGridSize@AInstancedFoliageActor@@UEBAIPEAVUWorld@@@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl AInstancedFoliageActor::GetDefaultGridSize(class UWorld *)const " (?GetDefaultGridSize@AInstancedFoliageActor@@UEBAIPEAVUWorld@@@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl AInstancedFoliageActor::GetDefaultGridSize(class UWorld *)const " (?GetDefaultGridSize@AInstancedFoliageActor@@UEBAIPEAVUWorld@@@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __cdecl AInstancedFoliageActor::GetDefaultGridSize(class UWorld *)const " (?GetDefaultGridSize@AInstancedFoliageActor@@UEBAIPEAVUWorld@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldIncludeGridSizeInName(class UWorld *,struct FActorPartitionIdentifier const &)const " (?ShouldIncludeGridSizeInName@AInstancedFoliageActor@@UEBA_NPEAVUWorld@@AEBUFActorPartitionIdentifier@@@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldIncludeGridSizeInName(class UWorld *,struct FActorPartitionIdentifier const &)const " (?ShouldIncludeGridSizeInName@AInstancedFoliageActor@@UEBA_NPEAVUWorld@@AEBUFActorPartitionIdentifier@@@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldIncludeGridSizeInName(class UWorld *,struct FActorPartitionIdentifier const &)const " (?ShouldIncludeGridSizeInName@AInstancedFoliageActor@@UEBA_NPEAVUWorld@@AEBUFActorPartitionIdentifier@@@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldIncludeGridSizeInName(class UWorld *,struct FActorPartitionIdentifier const &)const " (?ShouldIncludeGridSizeInName@AInstancedFoliageActor@@UEBA_NPEAVUWorld@@AEBUFActorPartitionIdentifier@@@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PreEditUndo(void)" (?PreEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PreEditUndo(void)" (?PreEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PreEditUndo(void)" (?PreEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PreEditUndo(void)" (?PreEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostEditUndo(void)" (?PostEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostEditUndo(void)" (?PostEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostEditUndo(void)" (?PostEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostEditUndo(void)" (?PostEditUndo@AInstancedFoliageActor@@UEAAXXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostDuplicate(bool)" (?PostDuplicate@AInstancedFoliageActor@@UEAAX_N@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostDuplicate(bool)" (?PostDuplicate@AInstancedFoliageActor@@UEAAX_N@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostDuplicate(bool)" (?PostDuplicate@AInstancedFoliageActor@@UEAAX_N@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl AInstancedFoliageActor::PostDuplicate(bool)" (?PostDuplicate@AInstancedFoliageActor@@UEAAX_N@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldExport(void)" (?ShouldExport@AInstancedFoliageActor@@UEAA_NXZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldExport(void)" (?ShouldExport@AInstancedFoliageActor@@UEAA_NXZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldExport(void)" (?ShouldExport@AInstancedFoliageActor@@UEAA_NXZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldExport(void)" (?ShouldExport@AInstancedFoliageActor@@UEAA_NXZ)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldImport(class FString *,bool)" (?ShouldImport@AInstancedFoliageActor@@UEAA_NPEAVFString@@_N@Z)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldImport(class FString *,bool)" (?ShouldImport@AInstancedFoliageActor@@UEAA_NPEAVFString@@_N@Z)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldImport(class FString *,bool)" (?ShouldImport@AInstancedFoliageActor@@UEAA_NPEAVFString@@_N@Z)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AInstancedFoliageActor::ShouldImport(class FString *,bool)" (?ShouldImport@AInstancedFoliageActor@@UEAA_NPEAVFString@@_N@Z)
MyInstancedFoliageActor2.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual struct UE::Math::TBox<double> __cdecl AInstancedFoliageActor::GetStreamingBounds(void)const " (?GetStreamingBounds@AInstancedFoliageActor@@UEBA?AU?$TBox@N@Math@UE@@XZ)
MyInstancedFoliageActor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual struct UE::Math::TBox<double> __cdecl AInstancedFoliageActor::GetStreamingBounds(void)const " (?GetStreamingBounds@AInstancedFoliageActor@@UEBA?AU?$TBox@N@Math@UE@@XZ)
MyInstancedFoliageActor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual struct UE::Math::TBox<double> __cdecl AInstancedFoliageActor::GetStreamingBounds(void)const " (?GetStreamingBounds@AInstancedFoliageActor@@UEBA?AU?$TBox@N@Math@UE@@XZ)
MyInstancedFoliageActor2.cpp.obj : error LNK2001: unresolved external symbol "public: virtual struct UE::Math::TBox<double> __cdecl AInstancedFoliageActor::GetStreamingBounds(void)const " (?GetStreamingBounds@AInstancedFoliageActor@@UEBA?AU?$TBox@N@Math@UE@@XZ)
C:\Users\PatrickBryant\Documents\Unreal Projects\LQA00480869_51\Binaries\Win64\UnrealEditor-LQA00480869_51.patch_0.exe : fatal error LNK1120: 17 unresolved externals
Display: Reload/Re-instancing Complete: No object changes detected
Steps to Reproduce
  1. Create or open a C++ Project
  2. In the C++ Classes folder Right Click then choose Create a New C++ Class
  3. Select All Classes then search and select for InstancedFoliageActor
  4. Select Next then Select Create Class
  5. Observe the Live Coding window or Output Log

Expected Results:
It successfully recompiles/reloads.

Actual Results:
It fails with stating that there are unresolved externals

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-166201 in the post.

2
Login to Vote

Won't Fix
CreatedOct 5, 2022
ResolvedMar 6, 2023
UpdatedMar 6, 2023