Vulkan-hpp m_dispatcher->getVkHeaderVersion() != VK_HEADER_VERSION

Vulkan-hpp m_dispatcher->getVkHeaderVersion() != VK_HEADER_VERSION

提问人:Amir Khaki 提问时间:9/11/2023 最后编辑:Amir Khaki 更新时间:9/17/2023 访问量:97

问:

我正在尝试使用 vulkan raii 并创建一个实例(实际上是实例化 vk::raii::Context)

我收到此错误

/usr/include/vulkan/vulkan_raii.hpp:2660: const vk::raii::ContextDispatcher* vk::raii::Context::getDispatcher() const: Assertion `m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION' failed.

我已经安装了带有 https://vulkan.lunarg.com/doc/view/latest/linux/getting_started_ubuntu.html 的 Vulkan SDK

libvulkan 和 vulkan 标头等版本均为 1.3.261 使用 CMake 构建我们,我使用 FindVulkan

我更新了vulkan-sdk并尝试使用vcpkg中的标头,但没有用 应用程序立即退出 SIGABRT

C++ Vulkan RAII

评论


答:

0赞 Wusiki Jeronii 9/17/2023 #1

我有 2 个案例出现此错误:

  1. 更新包时(从 MSYS2 存储库)。然后完全删除文件夹并完全重建项目对我有所帮助。build
  2. 这实际上是另一个错误。就在我将我的应用程序加入 GDB 时,写了这个错误。我添加了一个断点,首先看到的是一个非常大的数字,这绝对不是标头的版本。在没有 gdb 的情况下进行检查。结果证明返回了 false。因此,您需要检查 Vulkan 库是否正确初始化。m_valid