4

While trying to get Vulkan validation layers to work, I got error LNK2019:

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

Now the odd thing is that every other function in vulkan.h works perfectly.

I have vulkan-1.lib linked, and I run the AMD implementation of Vulkan. The library is from the Vulkan SDK.

1 Answer 1

14

The debugging functions from debug_report_ext are not part of the Vulkan core. You need to dynamically load them from the instance via vkGetInstanceProcAddr after making sure that it's actually supported:

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

See my Vulkan debugging helper unit for details.

Sign up to request clarification or add additional context in comments.

1 Comment

The link is broken.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.