提问人:brain56 提问时间:11/2/2023 更新时间:11/5/2023 访问量:39
在虚幻引擎5中,如何在C++中包含和使用UPlayMontageCallbackProxy::CreateProxyObjectForPlayMontage?
In Unreal Engine 5, how do I include and use UPlayMontageCallbackProxy::CreateProxyObjectForPlayMontage in C++?
问:
我想玩我的 via C++,特别是想利用 的便利性。UAnimMontage
UPlayMontageCallbackProxy
看起来从理论上讲,我可以使用,但每当我使用它时,我都会收到链接器错误:UPlayMontageCallbackProxy::CreateProxyObjectForPlayMontage
0>YCharacterVaulting.cpp.obj: Error LNK2019 : unresolved external symbol "public: void __cdecl UPlayMontageCallbackProxy::PlayMontage(class USkeletalMeshComponent *,class UAnimMontage *,float,float,class FName)" (?PlayMontage@UPlayMontageCallbackProxy@@QEAAXPEAVUSkeletalMeshComponent@@PEAVUAnimMontage@@MMVFName@@@Z) referenced in function "public: void __cdecl UYCharacterVaulting::Traverse(void)" (?Traverse@UYCharacterVaulting@@QEAAXXZ)
我已经更新了我的模块,以便包含该模块:Build.cs
PrivateDependencyModuleNames.AddRange(new string[] {"AnimGraphRuntime", "MotionWarping"});
关于如何修复链接器错误的任何想法?谢谢!
答:
0赞
splodginald
11/5/2023
#1
您有链接错误,因为引擎开发人员选择不导出 UPlayMontageCallback 类(或者这是一个疏忽)。 如果我们比较头文件中的声明:
class UPlayMontageCallbackProxy : public UObject
...添加到导出的同一模块中的另一个类:
class ANIMGRAPHRUNTIME_API UAnimExecutionContextLibrary : public UBlueprintFunctionLibrary
...您会注意到导出该类的 ANIMGRAPHRUNTIME_API 宏。
评论