Error LNK2019 and LNK2001? UE4

  1. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned int __cdecl FRHIResource::AddRef(void)const " (__imp_?AddRef@FRHIResource@@QEBAIXZ) referenced in function "public: __cdecl TRefCountPtr<class FRHIUniformBuffer>::TRefCountPtr<class FRHIUniformBuffer>(class FRHIUniformBuffer *,bool)" (??0?$TRefCountPtr@VFRHIUniformBuffer@@@@QEAA@PEAVFRHIUniformBuffer@@_N@Z)
  2. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned int __cdecl FRHIResource::Release(void)const " (__imp_?Release@FRHIResource@@QEBAIXZ) referenced in function "void __cdecl DestructItems<struct FMeshBatchElement>(struct FMeshBatchElement *,int)" (??$DestructItems@UFMeshBatchElement@@@@YAXPEAUFMeshBatchElement@@H@Z)
  3. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class TRefCountPtr<class FRHIUniformBuffer> __cdecl RHICreateUniformBuffer(void const *,struct FRHIUniformBufferLayout const &,enum EUniformBufferUsage)" (__imp_?RHICreateUniformBuffer@@YA?AV?$TRefCountPtr@VFRHIUniformBuffer@@@@PEBXAEBUFRHIUniformBufferLayout@@W4EUniformBufferUsage@@@Z) referenced in function "public: static class TUniformBufferRef<class FPrimitiveUniformShaderParameters> __cdecl TUniformBufferRef<class FPrimitiveUniformShaderParameters>::CreateUniformBufferImmediate(class FPrimitiveUniformShaderParameters const &,enum EUniformBufferUsage)" (?CreateUniformBufferImmediate@?$TUniformBufferRef@VFPrimitiveUniformShaderParameters@@@@SA?AV1@AEBVFPrimitiveUniformShaderParameters@@W4EUniformBufferUsage@@@Z)
  4. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class TRefCountPtr<class FRHIIndexBuffer> __cdecl FRHICommandListImmediate::CreateIndexBuffer(unsigned int,unsigned int,unsigned int,struct FRHIResourceCreateInfo &)" (__imp_?CreateIndexBuffer@FRHICommandListImmediate@@QEAA?AV?$TRefCountPtr@VFRHIIndexBuffer@@@@IIIAEAUFRHIResourceCreateInfo@@@Z) referenced in function "class TRefCountPtr<class FRHIIndexBuffer> __cdecl RHICreateIndexBuffer(unsigned int,unsigned int,unsigned int,struct FRHIResourceCreateInfo &)" (?RHICreateIndexBuffer@@YA?AV?$TRefCountPtr@VFRHIIndexBuffer@@@@IIIAEAUFRHIResourceCreateInfo@@@Z)
  5. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void * __cdecl FRHICommandListImmediate::LockIndexBuffer(class FRHIIndexBuffer *,unsigned int,unsigned int,enum EResourceLockMode)" (__imp_?LockIndexBuffer@FRHICommandListImmediate@@QEAAPEAXPEAVFRHIIndexBuffer@@IIW4EResourceLockMode@@@Z) referenced in function "public: virtual void __cdecl FProcMeshIndexBuffer::InitRHI(void)" (?InitRHI@FProcMeshIndexBuffer@@UEAAXXZ)
  6. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl FRHICommandListImmediate::UnlockIndexBuffer(class FRHIIndexBuffer *)" (__imp_?UnlockIndexBuffer@FRHICommandListImmediate@@QEAAXPEAVFRHIIndexBuffer@@@Z) referenced in function "public: virtual void __cdecl FProcMeshIndexBuffer::InitRHI(void)" (?InitRHI@FProcMeshIndexBuffer@@UEAAXXZ)
  7. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class TRefCountPtr<class FRHIVertexBuffer> __cdecl FRHICommandListImmediate::CreateVertexBuffer(unsigned int,unsigned int,struct FRHIResourceCreateInfo &)" (__imp_?CreateVertexBuffer@FRHICommandListImmediate@@QEAA?AV?$TRefCountPtr@VFRHIVertexBuffer@@@@IIAEAUFRHIResourceCreateInfo@@@Z) referenced in function "class TRefCountPtr<class FRHIVertexBuffer> __cdecl RHICreateVertexBuffer(unsigned int,unsigned int,struct FRHIResourceCreateInfo &)" (?RHICreateVertexBuffer@@YA?AV?$TRefCountPtr@VFRHIVertexBuffer@@@@IIAEAUFRHIResourceCreateInfo@@@Z)
  8. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static enum ENamedThreads::Type __cdecl FRenderCommand::GetDesiredThread(void)" (__imp_?GetDesiredThread@FRenderCommand@@SA?AW4Type@ENamedThreads@@XZ) referenced in function "private: void __cdecl TGraphTask<class `public: void __cdecl FProcMeshVertexFactory::Init(class FProcMeshVertexBuffer const *)'::`7'::EURCMacro_InitProcMeshVertexFactory>::SetupPrereqs(class TArray<class TRefCountPtr<class FGraphEvent>,class TInlineAllocator<4,class FDefaultAllocator> > const *,enum ENamedThreads::Type,bool)" (?SetupPrereqs@?$TGraphTask@VEURCMacro_InitProcMeshVertexFactory@?6??Init@FProcMeshVertexFactory@@QEAAXPEBVFProcMeshVertexBuffer@@@Z@@@AEAAXPEBV?$TArray@V?$TRefCountPtr@VFGraphEvent@@@@V?$TInlineAllocator@$03VFDefaultAllocator@@@@@@W4Type@ENamedThreads@@_N@Z)
  9. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static enum ESubsequentsMode::Type __cdecl FRenderCommand::GetSubsequentsMode(void)" (__imp_?GetSubsequentsMode@FRenderCommand@@SA?AW4Type@ESubsequentsMode@@XZ) referenced in function "public: static class TGraphTask<class `public: void __cdecl FProcMeshVertexFactory::Init(class FProcMeshVertexBuffer const *)'::`7'::EURCMacro_InitProcMeshVertexFactory>::FConstructor __cdecl TGraphTask<class `public: void __cdecl FProcMeshVertexFactory::Init(class FProcMeshVertexBuffer const *)'::`7'::EURCMacro_InitProcMeshVertexFactory>::CreateTask(class TArray<class TRefCountPtr<class FGraphEvent>,class TInlineAllocator<4,class FDefaultAllocator> > const *,enum ENamedThreads::Type)" (?CreateTask@?$TGraphTask@VEURCMacro_InitProcMeshVertexFactory@?6??Init@FProcMeshVertexFactory@@QEAAXPEBVFProcMeshVertexBuffer@@@Z@@@SA?AVFConstructor@1@PEBV?$TArray@V?$TRefCountPtr@VFGraphEvent@@@@V?$TInlineAllocator@$03VFDefaultAllocator@@@@@@W4Type@ENamedThreads@@@Z)
  10. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class FRHICommandListImmediate & __cdecl GetImmediateCommandList_ForRenderCommand(void)" (__imp_?GetImmediateCommandList_ForRenderCommand@@YAAEAVFRHICommandListImmediate@@XZ) referenced in function "public: void __cdecl `public: void __cdecl FProcMeshVertexFactory::Init(class FProcMeshVertexBuffer const *)'::`7'::EURCMacro_InitProcMeshVertexFactory::DoTask(enum ENamedThreads::Type,class TRefCountPtr<class FGraphEvent> const &)" (?DoTask@EURCMacro_InitProcMeshVertexFactory@?6??Init@FProcMeshVertexFactory@@QEAAXPEBVFProcMeshVertexBuffer@@@Z@QEAAXW4Type@ENamedThreads@@AEBV?$TRefCountPtr@VFGraphEvent@@@@@Z)
  11. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FRenderResource::FRenderResource(void)" (__imp_??0FRenderResource@@QEAA@XZ) referenced in function "public: __cdecl FIndexBuffer::FIndexBuffer(void)" (??0FIndexBuffer@@QEAA@XZ)
  12. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl FRenderResource::~FRenderResource(void)" (__imp_??1FRenderResource@@UEAA@XZ) referenced in function "public: virtual __cdecl FIndexBuffer::~FIndexBuffer(void)" (??1FIndexBuffer@@UEAA@XZ)
  13. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl BeginInitResource(class FRenderResource *)" (__imp_?BeginInitResource@@YAXPEAVFRenderResource@@@Z) referenced in function "public: __cdecl FProceduralMeshSceneProxy::FProceduralMeshSceneProxy(class UGenProcMesh *)" (??0FProceduralMeshSceneProxy@@QEAA@PEAVUGenProcMesh@@@Z)
  14. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl FVertexBuffer::~FVertexBuffer(void)" (__imp_??1FVertexBuffer@@UEAA@XZ) referenced in function "int `public: __cdecl FProcMeshProxySection::FProcMeshProxySection(void)'::`1'::dtor$3" (?dtor$3@?0???0FProcMeshProxySection@@QEAA@XZ@4HA)
  15. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FVertexBuffer::FVertexBuffer(void)" (__imp_??0FVertexBuffer@@QEAA@XZ) referenced in function "public: __cdecl FProcMeshProxySection::FProcMeshProxySection(void)" (??0FProcMeshProxySection@@QEAA@XZ)
  16. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct FRHIUniformBufferLayout const & __cdecl FUniformBufferStruct::GetLayout(void)const " (__imp_?GetLayout@FUniformBufferStruct@@QEBAAEBUFRHIUniformBufferLayout@@XZ) referenced in function "public: static class TUniformBufferRef<class FPrimitiveUniformShaderParameters> __cdecl TUniformBufferRef<class FPrimitiveUniformShaderParameters>::CreateUniformBufferImmediate(class FPrimitiveUniformShaderParameters const &,enum EUniformBufferUsage)" (?CreateUniformBufferImmediate@?$TUniformBufferRef@VFPrimitiveUniformShaderParameters@@@@SA?AV1@AEBVFPrimitiveUniformShaderParameters@@W4EUniformBufferUsage@@@Z)
  17. 1>GenProcMesh.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) bool __cdecl AllowDebugViewmodes(void)" (__imp_?AllowDebugViewmodes@@YA_NXZ) referenced in function "public: virtual void __cdecl FProceduralMeshSceneProxy::GetDynamicMeshElements(class TArray<class FSceneView const *,class FDefaultAllocator> const &,class FSceneViewFamily const &,unsigned int,class FMeshElementCollector &)const " (?GetDynamicMeshElements@FProceduralMeshSceneProxy@@UEBAXAEBV?$TArray@PEBVFSceneView@@VFDefaultAllocator@@@@AEBVFSceneViewFamily@@IAEAVFMeshElementCollector@@@Z)
  18. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FString __cdecl FRenderResource::GetFriendlyName(void)const " (?GetFriendlyName@FRenderResource@@UEBA?AVFString@@XZ)
  19. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FString __cdecl FVertexBuffer::GetFriendlyName(void)const " (?GetFriendlyName@FVertexBuffer@@UEBA?AVFString@@XZ)
  20. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual unsigned __int64 __cdecl FVertexFactory::GetStaticBatchElementVisibility(class FSceneView const &,struct FMeshBatch const *)const " (?GetStaticBatchElementVisibility@FVertexFactory@@UEBA_KAEBVFSceneView@@PEBUFMeshBatch@@@Z)
  21. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::InitDynamicRHI(void)" (?InitDynamicRHI@FRenderResource@@UEAAXXZ)
  22. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::InitRHI(void)" (?InitRHI@FRenderResource@@UEAAXXZ)
  23. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::InitResource(void)" (?InitResource@FRenderResource@@UEAAXXZ)
  24. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FVertexFactory::IsGPUSkinned(void)const " (?IsGPUSkinned@FVertexFactory@@UEBA_NXZ)
  25. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::ReleaseDynamicRHI(void)" (?ReleaseDynamicRHI@FRenderResource@@UEAAXXZ)
  26. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::ReleaseRHI(void)" (?ReleaseRHI@FRenderResource@@UEAAXXZ)
  27. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FVertexBuffer::ReleaseRHI(void)" (?ReleaseRHI@FVertexBuffer@@UEAAXXZ)
  28. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FVertexFactory::ReleaseRHI(void)" (?ReleaseRHI@FVertexFactory@@UEAAXXZ)
  29. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl FRenderResource::ReleaseResource(void)" (?ReleaseResource@FRenderResource@@UEAAXXZ)
  30. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl FVertexFactory::SupportsNullPixelShader(void)const " (?SupportsNullPixelShader@FVertexFactory@@UEBA_NXZ)
  31. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) class FRHICommandListExecutor GRHICommandList" (__imp_?GRHICommandList@@3VFRHICommandListExecutor@@A)
  32. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) bool GIsThreadedRendering" (__imp_?GIsThreadedRendering@@3_NA)
  33. 1>GenProcMesh.cpp.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) bool GMainThreadBlockedOnRenderThread" (__imp_?GMainThreadBlockedOnRenderThread@@3_NA)
  34. 1>C:\Users\Heath\Documents\Unreal Projects\BallsOut 4.8\Binaries\Win64\UE4Editor-BallsOut.dll : fatal error LNK1120: 33 unresolved externals
Product Version:  UE 4.8

MeshComponent.Build.cs

Well how about that, I tried adding "RHI", "RenderCore", "ShaderCore"

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "RHI", "RenderCore", "ShaderCore" });

and it worked.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用类模板时,可能会出现"error LNK2019: 无法解析的外部符号"和"error LNK2001"的错误。这些错误通常是由于链接器无法找到类模板的定义或函数的实现而导致的。 解决"error LNK2019: 无法解析的外部符号"错误的方法有以下几种: 1. 将类模板的声明和实现都放在类的定义中(.h文件)。 2. 在主文件(main文件)中同时包含类模板的声明文件(接口文件)和实现文件(.cpp文件)。 3. 在类的定义中(.h文件)的最后包含类模板的实现文件(.cpp文件)。 解决"error LNK2001"错误的方法是: 1. 检查是否在类模板中使用了未定义的函数。如果是,确保这些函数的定义在可见范围内,或者在类模板中提供相应的实现。 综上所述,为了解决UE5中的LNK2019LNK2001错误,可以采用类似的方法。确保类模板的声明和实现都正确地链接到主文件中,并检查是否存在未定义的函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [UE4 C++ error LNK2019: 无法解析的外部符号](https://blog.csdn.net/qq_34970171/article/details/118741164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [解决error LNK2005 void __cdecl operator delete(void](https://download.csdn.net/download/lj_70596/14921684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值