报错如下:
Module.AssetPackerEditor.cpp.obj: Error LNK2019 : 无法解析的外部符号 "__declspec(dllimport) public: static double DetailedCookStatsExtern::CookBegin_A_TimeSec" (__imp_?CookBegin_AssetPacker_GenPakConfig_TimeSec@DetailedCookStatsExtern@@2NA),函数 "public: void __cdecl UAssetPackerEditorManager::GeneratePakConfig(void)" (?GeneratePakConfig@UAssetPackerEditorManager@@QEAAXXZ) 中引用了该符号
原因:CookBegin_A_TimeSec 这个变量它是 class 中的 static double ,并且没有为它做初始化。在UE4中,需要始终为类静态成员做初始化。解决方法是在合适的地方添加上:
double DetailedCookStatsExtern::CookBegin_A_TimeSec = 0.0;
有的博客说C++ 类静态成员会有默认初始化(为0),但对于UE4来说不是合适的。还是需要做初始化。
C++静态成员变量的初始化_c++静态成员变量初始化-CSDN博客