我尝试使用多种方法让它发挥作用,无论我不断得到什么:
/usr/local/include/vulkan/vulkan.hpp:2453: undefined reference to `vkCreateDebugUtilsMessengerEXT'
/usr/local/include/vulkan/vulkan.hpp:2548: undefined reference to `vkDestroyDebugUtilsMessengerEXT'
Run Code Online (Sandbox Code Playgroud)
这是我目前拥有的(希望这是足够的代码来诊断问题)
// destroy and create funcs
PFN_vkCreateDebugUtilsMessengerEXT pfnVkCreateDebugUtilsMessengerEXT;
PFN_vkDestroyDebugUtilsMessengerEXT pfnVkDestroyDebugUtilsMessengerEXT;
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger)
{
return pfnVkCreateDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger);
}
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, VkAllocationCallbacks const * pAllocator)
{
return pfnVkDestroyDebugUtilsMessengerEXT(instance, messenger, pAllocator);
}
Run Code Online (Sandbox Code Playgroud)
// instance creation stuff here ...
createUniqueInstance(...);
//
// init and setup debug utils messenger
pfnVkCreateDebugUtilsMessengerEXT = reinterpret_cast<PFN_vkCreateDebugUtilsMessengerEXT>(
instance->getProcAddr("vkCreateDebugUtilsMessengerEXT"));
if (!pfnVkCreateDebugUtilsMessengerEXT) { …Run Code Online (Sandbox Code Playgroud)