如何将 Vulkan-hpp 包含在 glfw 中?

How can I include Vulkan-hpp with glfw?

我正在使用 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.