sinbad / SPUD

Steve's Persistent Unreal Data library
MIT License
308 stars 45 forks source link

USpudPropertyUtil::GetLogPrefix hasn't got an implementation #7

Closed cyphusx closed 3 years ago

cyphusx commented 3 years ago

I'm getting the following linker errors while building the latest commit in VS2019 against UE4.26.2:

1>Module.SPUD.cpp.obj : error LNK2019: unresolved external symbol "public: static class FString __cdecl SpudPropertyUtil::GetLogPrefix(int)" (?GetLogPrefix@SpudPropertyUtil@@SA?AVFString@@H@Z) referenced in function "protected: void __cdecl USpudState::RestoreObjectProperties(class UObject *,class FMemoryReader &,struct FSpudClassMetadata const &,class TMap<struct FGuid,class UObject *,class FDefaultSetAllocator,struct TDefaultMapHashableKeyFuncs<struct FGuid,class UObject *,0> > const *,int)" (?RestoreObjectProperties@USpudState@@IEAAXPEAVUObject@@AEAVFMemoryReader@@AEBUFSpudClassMetadata@@PEBV?$TMap@UFGuid@@PEAVUObject@@VFDefaultSetAllocator@@U?$TDefaultMapHashableKeyFuncs@UFGuid@@PEAVUObject@@$0A@@@@@H@Z)
1>Module.SPUD.cpp.obj : error LNK2019: unresolved external symbol "public: static class FString __cdecl SpudPropertyUtil::GetLogPrefix(class FProperty const *,int)" (?GetLogPrefix@SpudPropertyUtil@@SA?AVFString@@PEBVFProperty@@H@Z) referenced in function "protected: static bool __cdecl SpudPropertyUtil::TryReadPropertyData<class FBoolProperty,bool>(class FProperty *,void *,struct FSpudPropertyDef const &,int,class FArchive &)" (??$TryReadPropertyData@VFBoolProperty@@_N@SpudPropertyUtil@@KA_NPEAVFProperty@@PEAXAEBUFSpudPropertyDef@@HAEAVFArchive@@@Z)

This appears to be caused by the missing implementation of USpudPropertyUtil::GetLoginPrefix

sinbad commented 3 years ago

Thanks for reporting, not sure how I missed that, fixed in 4186ff8d91dfcd6ea135899ee3d12aee48903331

cyphusx commented 3 years ago

Thank you! 👍

TI-asilva commented 2 years ago

Hello Steve,

I saw this as well, when I was setting up the sanity check of trying to repro this issue using just your SPUDExamples project.

I performed a fresh git clone of that repro and then ran the 2 submodule commands as shown in the help there, but these link errors were still present. I ended up diffing with my separate test project which had SPUD from this repo and noticed the implementations were missing in SPUDExamples (as well as the other edits from https://github.com/sinbad/SPUD/commit/4186ff8d91dfcd6ea135899ee3d12aee48903331). I haven't worked with submodules in git before, but it seems like maybe SPUDExample's submodule reference to this repo is a commit behind?

Thanks, Anthony

sinbad commented 2 years ago

Ah yes I forgot to update SpudExamples to pick up the update, that's done now. Thanks for letting me know.