如何在 glfw 中包含 Vulkan-hpp?

问题描述

我正在使用 vulkanglfw 开发游戏引擎。如 here 所示,glfw 有一堆宏可以包含 OpenGL/OpenGL ES/Vulkan。由于它现在包含在 vulkan sdk 中,我如何设置 glfw 以包含 vulkan-hpp。我是否只需要输入 GLFW_INCLUDE_NONE添加 #include <vulkan/vulkan.hpp> 或者我需要实现其他内容

解决方法

如果我们看一下 GLFW.h,它只包含 vulkan.h 仅当定义了 GLFW_INCLUDE_VULKAN 宏。因此,如果您想包含 vulkan.hpp 文件,只需取消定义 GLFW_INCLUDE_VULKAN 宏并显式包含该文件。

为什么?
GLFW 是一个 C 库。 vulkan.hpp 文件包含 C++ 内容,因此可能存在兼容性问题。这就是为什么 GLFW 只包含 vulkan.h 而不是 vulkan.hpp