【问题标题】:vulkan.hpp bindings generate WinAPI errorsvulkan.hpp 绑定生成 WinAPI 错误
【发布时间】:2020-01-03 15:08:21
【问题描述】:

我重新安装了 Visual Studio 2019 并安装了适用于 Windows 的 Vulkan SDK(最新版本),但 vulkan.h 没有问题,vulkan.hpp 在包含它后立即生成 identifier HMODULE is undefined 错误。

这是有错误的sn-p:

#if defined(__linux__) || defined(__APPLE__)
    void *m_library;
#elif defined(_WIN32)
    HMODULE m_library;
#else
#error unsupported platform
#endif

我应该在包含它之前定义一些东西还是什么?在 Khronos Group 的 the official repo 中,声明我只需要 Visual Studio 2015 或更高版本。我还遇到了 2 个与 LoadLibraryFreeLibrary 函数相关的编译器错误,msvc 似乎也找不到。

【问题讨论】:

  • @AlexF 是的,但不是直接的。深入研究问题后,我发现 vulkan.h 标头中有 #ifdef VK_USE_PLATFORM_WIN32_KHR 。原来我只需要定义它,现在一切正常
  • 此评论可以作为答案发布,以帮助有相同问题的人。

标签: c++ windows winapi vulkan


【解决方案1】:

正如您所说,需要使用定义来启用特定于平台的表面创建功能。对于 Windows,您需要在项目的 windows 构建配置中定义 VK_USE_PLATFORM_WIN32_KHR

【讨论】:

    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多