有一次我在使用 vulkan hpp raii 的 dll 项目中遇到了 unresolved external symbol “class vk::DispatchLoaderDynamic vk::defaultDispatchLoaderDynamic” 的链接错误,但是我确实已经在编译成 dll 的项目中定义了 VULKAN_HPP_STORAGE_SHARED VULKAN_HPP_STORAGE_SHARED_EXPORT 在 exe 项目中定义了 VULKAN_HPP_STORAGE_SHARED,而且我对 vulkan hpp raii 搜索也没找到 DispatchLoaderDynamic
怎么搞都搞不出来之后,我就只好一个个注释代码,来找是哪段代码出了问题
最后发现是这一段出了问题
vk::PresentInfoKHR present_info(
**m_render_finished_semaphores[m_current_frame_index], *m_swapchain_data.swap_chain, image_index);
vk::Result result = (*m_present_queue).presentKHR(present_info);
我的 m_present_queue
的类型是 vk::raii::Queue
,(*m_present_queue)
之后就是 vk::Queue
我觉得应该没错
但是我确实改成 m_present_queue.presentKHR(present_info);
之后就没问题了……就很神奇……我不知道为什么