vkCreateDebugReportCallback EXT没有链接,但vulkan.h中的所有其他函数都能正常工作

时间:2016-06-18 17:58:58

标签: visual-studio linker vulkan

所以我最近一直在努力学习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。

1 个答案:

答案 0 :(得分:9)

debug_report_ext的调试功能不属于Vulkan核心。在确保实际支持后,您需要通过vkGetInstanceProcAddr从实例动态加载它们:

PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback = VK_NULL_HANDLE;
CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");

有关详细信息,请参阅my Vulkan debugging helper unit