4

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

4

1 回答 1

13

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

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

有关详细信息,请参阅我的 Vulkan 调试助手单元

于 2016-06-18T19:10:21.713 回答