UE4无法解析的外部符号的几种情况
1、模块缺少依赖
常见问题,再Build.CS添加上模块依赖即可,见
https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/ModuleFiles/
2、使用没有被导出的类的情况
如图,继承UAnimGraphNode_SequencePlayer类
在子类调用父类的函数的时候,会出现无法解释符号的情况,如下图的Super调用的是父类函数:
这个是因为父类UAnimGraphNode_SequencePlayer被MinimalAPI声明了:
MinimalAPI意思是对其它模块仅导出,用于引用或者转换,无法调用函数,可见
3、使用类没有标识的其他模块的情况
常见报错 unresolved external symbol ClassA::GetPrivateStaticClass
这是因为ClassA没有标识 模块名_API 这个宏
1
2
3
4
5
6
7
//ModuleA
class ClassA
{
}
//其他模块调用ClassA会导致unresolved external symbol
new ClassA();
如ClassA在模块ModuleA中,应该:
1
2
3
class MODULE_API ClassA
{
}
本文由作者按照 CC BY 4.0 进行授权