Issue with building DebugGame Editor

I’ve run into an issue with developing a runtime plugin. I am adding a 3rd party library plugin. I’ve got it all building in VS, but I run into errors when I try to open my project in the editor. The project wants to be rebuilt. I can compile the code in Development and DebugGame, but if I try DebugGame Editor or Development Editor I get linking errors. The linking errors are in my plugin, but from modules within the engine. I’m using v5.3 and VS 2022.

Creating library C:\myprojects\Project\Plugins\GameFeatures\ExternalSimulation\Intermediate\Build\Win64\x64\UnrealEditor\DebugGame\ExternalSimulationRuntime\UnrealEditor-ExternalSimulationRuntime-Win64-DebugGame.sup.lib and object C:\myprojects\Project\Plugins\GameFeatures\ExternalSimulation\Intermediate\Build\Win64\x64\UnrealEditor\DebugGame\ExternalSimulationRuntime\UnrealEditor-ExternalSimulationRuntime-Win64-DebugGame.sup.exp
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) protected: static void __cdecl FWindowsPlatformAtomics::HandleAtomicsFailure(wchar_t const *,...)" (__imp_?HandleAtomicsFailure@FWindowsPlatformAtomics@@KAXPEB_WZZ) referenced in function "public: __cdecl FThreadSafeStaticStat<struct Chaos::FStat_STAT_AABBTreeGenerateTree>::FThreadSafeStaticStat<struct Chaos::FStat_STAT_AABBTreeGenerateTree>(void)" (??0?$FThreadSafeStaticStat@UFStat_STAT_AABBTreeGenerateTree@Chaos@@@@QEAA@XZ)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl FMemory::Free(void *)" (__imp_?Free@FMemory@@SAXPEAX@Z) referenced in function "public: __cdecl TArray<class FSharedBuffer,class TSizedInlineAllocator<1,32,class TSizedDefaultAllocator<32> > >::~TArray<class FSharedBuffer,class TSizedInlineAllocator<1,32,class TSizedDefaultAllocator<32> > >(void)" (??1?$TArray@VFSharedBuffer@@V?$TSizedInlineAllocator@$00$0CA@V?$TSizedDefaultAllocator@$0CA@@@@@@@QEAA@XZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl FMemory::Free(void *)" (__imp_?Free@FMemory@@SAXPEAX@Z)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FName::FName(wchar_t const *,enum EFindName)" (__imp_??0FName@@QEAA@PEB_WW4EFindName@@@Z) referenced in function "void __cdecl `dynamic initializer for 'LogLatentCommands''(void)" (??__ELogLatentCommands@@YAXXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl FName::FName(wchar_t const *,enum EFindName)" (__imp_??0FName@@QEAA@PEB_WW4EFindName@@@Z)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FName::FName(char const *,enum EFindName)" (__imp_??0FName@@QEAA@PEBDW4EFindName@@@Z) referenced in function "void __cdecl UE::Anim::`dynamic initializer for 'BoneAttributeNamespace''(void)" (??__EBoneAttributeNamespace@Anim@UE@@YAXXZ)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FLogCategoryBase::FLogCategoryBase(class FName const &,enum ELogVerbosity::Type,enum ELogVerbosity::Type)" (__imp_??0FLogCategoryBase@@QEAA@AEBVFName@@W4Type@ELogVerbosity@@1@Z) referenced in function "void __cdecl `dynamic initializer for 'LogLatentCommands''(void)" (??__ELogLatentCommands@@YAXXZ)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FLogCategoryBase::~FLogCategoryBase(void)" (__imp_??1FLogCategoryBase@@QEAA@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'LogLatentCommands''(void)" (??__FLogLatentCommands@@YAXXZ)
27>SharedPCH.Engine.NonOptimized.RTTI.Cpp20.InclOrderUnreal5_0.h.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) protected: struct TStatIdData const * __cdecl FThreadSafeStaticStatBase::DoSetup(char const *,wchar_t const *,char const *,char const *,wchar_t const *,bool,bool,enum EStatDataType::Type,bool,bool,enum FWindowsPlatformMemory::EMemoryCounterRegion)const " (__imp_?DoSetup@FThreadSafeStaticStatBase@@IEBAPEBUTStatIdData@@PEBDPEB_W001_N2W4Type@EStatDataType@@22W4EMemoryCounterRegion@FWindowsPlatformMemory@@@Z) referenced in function "public: __cdecl FThreadSafeStaticStat<struct Chaos::FStat_STAT_AABBTreeGenerateTree>::FThreadSafeStaticStat<struct Chaos::FStat_STAT_AABBTreeGenerateTree>(void)" (??0?$FThreadSafeStaticStat@UFStat_STAT_AABBTreeGenerateTree@Chaos@@@@QEAA@XZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static bool __cdecl FDebug::CheckVerifyFailedImpl(char const *,char const *,int,void *,wchar_t const *,...)" (__imp_?CheckVerifyFailedImpl@FDebug@@SA_NPEBD0HPEAXPEB_WZZ) referenced in function "public: __cdecl FUObjectCppClassStaticFunctions::FUObjectCppClassStaticFunctions(void (__cdecl*)(class UObject *,class FReferenceCollector &),void (__cdecl*)(class FArchive &,class UClass const *),void (__cdecl*)(struct FAppendToClassSchemaContext &),void (__cdecl*)(class TArray<struct FTopLevelAssetPath,class TSizedDefaultAllocator<32> > &,class UClass const *))" (??0FUObjectCppClassStaticFunctions@@QEAA@P6AXPEAVUObject@@AEAVFReferenceCollector@@@ZP6AXAEAVFArchive@@PEBVUClass@@@ZP6AXAEAUFAppendToClassSchemaContext@@@ZP6AXAEAV?$TArray@UFTopLevelAssetPath@@V?$TSizedDefaultAllocator@$0CA@@@@@4@Z@Z)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void * __cdecl FMemory::Malloc(unsigned __int64,unsigned int)" (__imp_?Malloc@FMemory@@SAPEAX_KI@Z) referenced in function "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void * __cdecl FMemory::Realloc(void *,unsigned __int64,unsigned int)" (__imp_?Realloc@FMemory@@SAPEAXPEAX_KI@Z) referenced in function "void * __cdecl StdRealloc(void *,unsigned __int64,unsigned __int64)" (?StdRealloc@@YAPEAXPEAX_K1@Z)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FString::FString(wchar_t const *)" (__imp_??0FString@@QEAA@PEB_W@Z) referenced in function "public: virtual class FString __cdecl UObject::GetDesc(void)" (?GetDesc@UObject@@UEAA?AVFString@@XZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) private: static struct FNameEntryId __cdecl FNameEntryId::FromValidEName(enum EName)" (__imp_?FromValidEName@FNameEntryId@@CA?AU1@W4EName@@@Z) referenced in function "public: static class UObject * __cdecl UExtSimSubsystem::__VTableCtorCaller(class FVTableHelper &)" (?__VTableCtorCaller@UExtSimSubsystem@@SAPEAVUObject@@AEAVFVTableHelper@@@Z)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned char * * __cdecl FNameDebugVisualizer::GetBlocks(void)" (__imp_?GetBlocks@FNameDebugVisualizer@@SAPEAPEAEXZ) referenced in function "void __cdecl `dynamic initializer for 'GNameBlocksDebug''(void)" (??__EGNameBlocksDebug@@YAXXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl UE::Logging::Private::BasicLog(struct FLogCategoryBase const &,struct UE::Logging::Private::FStaticBasicLogRecord const *,...)" (__imp_?BasicLog@Private@Logging@UE@@YAXAEBUFLogCategoryBase@@PEBUFStaticBasicLogRecord@123@ZZ) referenced in function "public: virtual bool __cdecl FSimThread::Init(void)" (?Init@FSimThread@@UEAA_NXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class FRunnableThread * __cdecl FRunnableThread::Create(class FRunnable *,wchar_t const *,unsigned int,enum EThreadPriority,unsigned __int64,enum EThreadCreateFlags)" (__imp_?Create@FRunnableThread@@SAPEAV1@PEAVFRunnable@@PEB_WIW4EThreadPriority@@_KW4EThreadCreateFlags@@@Z) referenced in function "public: __cdecl FSimThread::FSimThread(class UnrealApplication *,class TUniquePtr<class WsfScenario,struct TDefaultDelete<class WsfScenario> >,struct WsfStandardApplication::Options const &)" (??0FSimThread@@QEAA@PEAVUnrealApplication@@V?$TUniquePtr@VWsfScenario@@U?$TDefaultDelete@VWsfScenario@@@@@@AEBUOptions@WsfStandardApplication@@@Z)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct FLogCategoryLogTemp LogTemp" (__imp_?LogTemp@@3UFLogCategoryLogTemp@@A) referenced in function "public: virtual bool __cdecl FSimThread::Init(void)" (?Init@FSimThread@@UEAA_NXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class FChunkedFixedUObjectArray * GCoreObjectArrayForDebugVisualizers" (__imp_?GCoreObjectArrayForDebugVisualizers@@3PEAVFChunkedFixedUObjectArray@@EA) referenced in function "void __cdecl `dynamic initializer for 'GObjectArrayForDebugVisualizers''(void)" (??__EGObjectArrayForDebugVisualizers@@YAXXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct UE::CoreUObject::Private::FStoredObjectPathDebug * GCoreComplexObjectPathDebug" (__imp_?GCoreComplexObjectPathDebug@@3PEAUFStoredObjectPathDebug@Private@CoreUObject@UE@@EA) referenced in function "void __cdecl `dynamic initializer for 'GComplexObjectPathDebug''(void)" (??__EGComplexObjectPathDebug@@YAXXZ)
27>Module.ExternalSimulationRuntime.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) struct UE::CoreUObject::Private::FObjectHandlePackageDebugData * GCoreObjectHandlePackageDebug" (__imp_?GCoreObjectHandlePackageDebug@@3PEAUFObjectHandlePackageDebugData@Private@CoreUObject@UE@@EA) referenced in function "void __cdecl `dynamic initializer for 'GObjectHandlePackageDebug''(void)" (??__EGObjectHandlePackageDebug@@YAXXZ)
27>C:\myprojects\Project\Plugins\GameFeatures\ExternalSimulation\Binaries\Win64\UnrealEditor-ExternalSimulationRuntime-Win64-DebugGame.dll : fatal error LNK1120: 19 unresolved externals

Any ideas as to what module I need to include to get this to work? I will say I created a GameInstance subsystem that will allow a thread to be created. I made the sub-system blueprintable. I was thinking that the game instance sub system is getting created, but I doubt that since I do not have anything in my initialization function.

Thanks

It looks like you’re not marking all the modules you’re using as a dependency for your module in your ModuleName.Build.cs file. Did you at least add “Core” as a dependency?

I recommend you check out this resource on Unreal’s Modules to help you figure this out.

Here is was my list:

PrivateDependencyModuleNames.AddRange(
   new string[] {
      "CoreUObject",
      "Engine",
      "Slate",
      "SlateCore",
		// ... add private dependencies that you statically link with here ...	
	});

By adding Core to it I have fixed my problem. I knew it was something simple. I had not touched this since it was auto-generated when I first created the plugin. Thank you!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.