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
Expected Results:
It successfully recompiles/reloads.
Actual Results:
It fails with stating that there are unresolved externals
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-166201 in the post.
2 |
Component | UE - Foundation - Cpp Tools - Live Coding |
---|---|
Affects Versions | 5.0.3, 5.2 |
Created | Oct 5, 2022 |
---|---|
Resolved | Mar 6, 2023 |
Updated | Mar 6, 2023 |