【问题标题】:vkCreateDebugReportCallback EXT not linking, but every other functions in vulkan.h works perfectlyvkCreateDebugReportCallback EXT 没有链接,但 vulkan.h 中的所有其他函数都可以正常工作
【发布时间】:2016-06-18 17:58:58
【问题描述】:

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

【问题讨论】:

    标签: visual-studio linker vulkan


    【解决方案1】:

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

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

    详情请见my Vulkan debugging helper unit

    【讨论】:

    • 链接已损坏。
    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 2016-05-25
    • 2019-11-12
    • 1970-01-01
    • 2017-05-29
    • 2011-08-14
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多