所以我最近一直在努力学习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。
答案 0 :(得分:9)
debug_report_ext的调试功能不属于Vulkan核心。在确保实际支持后,您需要通过vkGetInstanceProcAddr从实例动态加载它们:
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback = VK_NULL_HANDLE;
CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
有关详细信息,请参阅my Vulkan debugging helper unit。