Download

Windows Link error when using USceneCaptureComponentCube

Hi everybody,

On windows, I try to override the USceneCaptureComponentCube class.
On a very simple test project, I only add a “New C++ class” and choose SceneCaptureComponentCube as a parent.
Then the compilation is ok, but I have these messages during the link:


MySceneCaptureComponentCube.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponent::PostLoad(void)" (?PostLoad@USceneCaptureComponent@@UEAAXXZ)
1>MyProjectTest.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponent::PostLoad(void)" (?PostLoad@USceneCaptureComponent@@UEAAXXZ)
1>MySceneCaptureComponentCube.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::OnRegister(void)" (?OnRegister@USceneCaptureComponentCube@@UEAAXXZ)
1>MyProjectTest.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::OnRegister(void)" (?OnRegister@USceneCaptureComponentCube@@UEAAXXZ)
1>MySceneCaptureComponentCube.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::SendRenderTransform_Concurrent(void)" (?SendRenderTransform_Concurrent@USceneCaptureComponentCube@@UEAAXXZ)
1>MyProjectTest.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::SendRenderTransform_Concurrent(void)" (?SendRenderTransform_Concurrent@USceneCaptureComponentCube@@UEAAXXZ)
1>MySceneCaptureComponentCube.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::TickComponent(float,enum ELevelTick,struct FActorComponentTickFunction *)" (?TickComponent@USceneCaptureComponentCube@@UEAAXMW4ELevelTick@@PEAUFActorComponentTickFunction@@@Z)
1>MyProjectTest.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::TickComponent(float,enum ELevelTick,struct FActorComponentTickFunction *)" (?TickComponent@USceneCaptureComponentCube@@UEAAXMW4ELevelTick@@PEAUFActorComponentTickFunction@@@Z)
1>MySceneCaptureComponentCube.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::PostEditChangeProperty(struct FPropertyChangedEvent &)" (?PostEditChangeProperty@USceneCaptureComponentCube@@UEAAXAEAUFPropertyChangedEvent@@@Z)
1>MyProjectTest.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl USceneCaptureComponentCube::PostEditChangeProperty(struct FPropertyChangedEvent &)" (?PostEditChangeProperty@USceneCaptureComponentCube@@UEAAXAEAUFPropertyChangedEvent@@@Z)
1>MyProjectTest.generated.cpp.obj : error LNK2019: unresolved external symbol "public: static void __cdecl USceneCaptureComponent::AddReferencedObjects(class UObject *,class FReferenceCollector &)" (?AddReferencedObjects@USceneCaptureComponent@@SAXPEAVUObject@@AEAVFReferenceCollector@@@Z) referenced in function "void __cdecl GetPrivateStaticClassBody<class UMySceneCaptureComponentCube>(wchar_t const *,wchar_t const *,class UClass * &,void (__cdecl*)(void))" (??$GetPrivateStaticClassBody@VUMySceneCaptureComponentCube@@@@YAXPEB_W0AEAPEAVUClass@@P6AXXZ@Z)

I tried on different PC with the same errors.
It seems to work on Linux.

Any idea on how to fix that ?

Thanks,
Luguen

Anybody tried this ?
The error is the same using USceneCaptureComponent2D…

Any update on this. I am getting the same error with both 4.8.3 and 4.9.2

Cheers