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

use*_*785 4 linker visual-studio vulkan

所以我最近一直在努力学习Vulkan,在尝试让验证层工作时,我得到错误LNK2019:

1>Renderer.obj : error LNK2019: unresolved external symbol vkCreateDebugReportCallbackEXT referenced in function "private: void __cdecl Renderer::_InitDebug(void)" (?_InitDebug@Renderer@@AEAAXXZ)
Run Code Online (Sandbox Code Playgroud)

现在奇怪的是,vulkan.h中的其他所有功能都能完美运行.

我有vulkan-1.lib链接,我运行了vulkan的AMD实现.该库来自Vulkan SDK.

Sas*_*ems 10

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

PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback = VK_NULL_HANDLE;
CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅我的Vulkan调试帮助程序单元.