gpt4 book ai didi

c++ - 虚幻引擎中的链接错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:55 26 4
gpt4 key购买 nike

免责声明:这很可能是虚幻引擎特有的,但我在那里没有得到答案,所以我想我会在这里尝试更一般的查询。抱歉,如果这被认为是题外话/太具体了

我在虚幻引擎 4 中编译以下代码时遇到链接错误:

RHISetRenderTarget(TextureRenderTarget->GetRenderTargetTexture(), NULL);

这是在宏 (ENQUEUE_UNIQUE_RENDER_COMMAND_TWOPARAMETER) 中调用的,但即使您不这样做,链接错误也会发生。

错误本身是:

MaterialToTextureRenderer.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl RHISetRenderTargets(unsigned int,class FRHIRenderTargetView const *,class FRHITexture *,unsigned int,class FRHIUnorderedAccessView * const *)" (__imp_?RHISetRenderTargets@@YAXIPEBVFRHIRenderTargetView@@PEAVFRHITexture@@IPEBQEAVFRHIUnorderedAccessView@@@Z) referenced in function "void __cdecl RHISetRenderTarget(class FRHITexture *,class FRHITexture *)" (?RHISetRenderTarget@@YAXPEAVFRHITexture@@0@Z)

压缩以提高可读性:

unresolved external symbol: void RHISetRenderTargets(unsigned int, FRHIRenderTargetView const *,FRHITexture *,unsigned int,FRHIUnorderedAccessView * const *)
referenced in: void RHISetRenderTarget(FRHITexture *,FRHITexture *)

(unlinked方法中引用的方法就是我调用的方法)。

还有 4 个其他类似的链接错误。

我怎么想都不是 C++ 专家,但我的理解是链接错误是在正确包含头文件但实际上找不到要指向的方法的实现时引起的。

我不明白的是,它找不到其实现的方法在虚幻引擎中(我假设它实际上没有缺少方法实现等!)。

此外,我正在调用的方法和它正在调用的方法(并且无法链接)都在同一个头文件中定义为 inline。我唯一能看到的可能是错误的是正在使用的方法是在头文件中进一步声明和实现的,但我不认为这可能是一个问题(当然不是链接问题)。

最佳答案

确保像这样在您的目标的 .build.cs 中包含 RHI 和 RenderCore

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

关于c++ - 虚幻引擎中的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24807742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com