问题描述
所以最近我一直在尝试学习Vulkan,并且在尝试使验证层正常工作时,出现错误LNK2019:
1>Renderer.obj : error LNK2019: unresolved external symbol vkCreateDebugReportCallbackEXT referenced in function "private: void __cdecl Renderer::_InitDebug(void)" (?_InitDebug@Renderer@@AEAAXXZ)
现在奇怪的是vulkan.h中的所有其他功能都能正常工作.
我链接了vulkan-1.lib,并且运行vulkan的AMD实现.该库来自Vulkan SDK.
debug_report_ext中的调试功能不属于Vulkan核心.您需要在确保确实支持实例之后,通过vkGetInstanceProcAddr从实例动态加载它们:
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback = VK_NULL_HANDLE;
CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
有关详细信息,请参见我的Vulkan调试助手单元. /p>
So I have been trying to learn Vulkan lately, and while trying to get the validation layers to work, I got error LNK2019:
1>Renderer.obj : error LNK2019: unresolved external symbol vkCreateDebugReportCallbackEXT referenced in function "private: void __cdecl Renderer::_InitDebug(void)" (?_InitDebug@Renderer@@AEAAXXZ)
Now the odd thing is that every other function in vulkan.h works perfectly.
I have vulkan-1.lib linked, and I run the AMD implementation of vulkan. The library is from the Vulkan SDK.
The debugging functions from debug_report_ext are not part of the Vulkan core. You need to dynamically load them from the instance via vkGetInstanceProcAddr after making sure that it's actually supported:
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback = VK_NULL_HANDLE;
CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
See my Vulkan debugging helper unit for details.
这篇关于vkCreateDebugReportCallbackback EXT未链接,但vulkan.h中的所有其他功能均正常运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!