[英]VK_KHR_WIN32_SURFACE_EXTENSION_NAME undefined, in Vulkan code
我正在尝试编写一个简单的基于 vulkan 的应用程序,但是当尝试将表面扩展添加到启用的扩展列表时,如下所示:
enabledExtensions.push_back( VK_KHR_SURFACE_EXTENSION_NAME );
#if defined (_WIN32)
enabledExtensions.push_back( VK_KHR_WIN32_SURFACE_EXTENSION_NAME );
#else
enabledExtensions.push_back( VK_KHR_XCB_SURFACE_EXTENSION_NAME );
#endif
Visual Studio 抱怨VK_KHR_WIN32_SURFACE_EXTENSION_NAME
未定义。
当我右键单击它并转到定义时,它会打开 vulkan.h。 在检查VK_USE_PLATFORM_WIN32_KHR
我发现这也是未定义的,这阻止了VK_KHR_WIN32_SURFACE_EXTENSION_NAME
的定义。 有人可以解释如何解决这个问题吗?
事实证明,我在项目设置中遗漏了一些预处理器指令:
VK_PROTOTYPES
VK_USE_PLATFORM_WIN32_KHR
我希望这些信息可以帮助任何有同样问题的人。
这似乎是一个常见问题,目前您可以通过添加特定标题来解决此问题
#if defined (_WIN32)
#include <vulkan/vulkan_win32.h>
#elif defined(__linux__)
#include <vulkan/vulkan_xcb.h>
#elif defined(__ANDROID__)
#include <vulkan/vulkan_android.h>
#endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.