unresolved external symbol “class vk::DispatchLoaderDynamic vk::defaultDispatchLoaderDynamic“ 的奇怪原因

作者在使用Vulkanhpp库时遇到链接错误,发现`DispatchLoaderDynamic`未解决。通过逐行注释代码,最终定位到`vk::Queue`的使用方式导致问题,修改后解决问题。

有一次我在使用 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); 之后就没问题了……就很神奇……我不知道为什么

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值