UE4 编译报错 “Error LNK2019 : 无法解析的外部符号” 一种可能的原因

报错如下:

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博客

相关推荐
DoomGT4 天前
UE5 - C++项目基础
c++·ue5·ue4·虚幻·虚幻引擎·unreal engine
危险库6 天前
【UE4/UE5】在虚幻引擎中创建控制台指令的几种方法
c++·ue5·游戏引擎·ue4·虚幻
小江村儿的文杰8 天前
UE4通过打开DumpShader开关查看ShaderError的引用路径
ue4
FlyingMindIndex011 天前
UE_ContrlRig
ue5·ue4
HELLOMILI12 天前
[UnrealEngine] 虚幻引擎UE5下载及安装(UE4、UE5)
游戏·ue5·游戏引擎·ue4·虚幻·软件需求
小江村儿的文杰13 天前
UE4报错 Unable to instantiate UnrealEd module for non-editor targets
ue4
pop_opo_14 天前
Unreal Engine 4.27 + AirSim 无人机仿真环境搭建:澳大利亚农村场景更换教程
ue4·无人机
小江村儿的文杰1 个月前
UE4 UAT 的六大流程 build cook stage pacakge archive deploy 与UAT的参数
ue4
小江村儿的文杰1 个月前
UE4 Rider调试时添加自定义命令行参数
ue4
小江村儿的文杰1 个月前
UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
macos·ue4