OpenXR - 未解析的外部符号

OpenXR - unresolved external symbol

我一直在 xrCreateSpatialGraphNodeSpaceMSFT 上收到未解析的外部符号,此时我只是 运行 无法尝试使它正常工作。我不会以任何方式称自己为经验丰富的程序员,所以我想我很可能只是在做一些非常愚蠢的事情。我将非常感谢您的任何回复。

我试过使用 NuGet 包中的 headers 和 Microsoft/OpenXR-MixedReality 上的包。

至于加载器,我已经尝试了 NuGet 包并自己构建了一个 KhronosGroup/OpenXR-SDK。

我对这些都没有任何运气(同样,这可能是因为我做错了什么或者太愚蠢了..)。

代码仅供参考

xr::SpaceHandle target_space{};
XrSpatialGraphNodeSpaceCreateInfoMSFT* create_info{};
create_info->type = XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
guid_ g_data{ code };
create_info->nodeType = XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT;
memcpy(create_info->nodeId, (void*)g_data.Data1, sizeof(guid_));
xrCreateSpatialGraphNodeSpaceMSFT(m_session.Get(), create_info, target_space.Put());

xrCreateSpatialGraphNodeSpaceMSFT 不是核心 OpenXR 函数(如 MSFT 后缀所示)。您必须首先检索指向它的函数指针,如 here.

所述

此外,请确保相应的扩展名 (XR_MSFT_spatial_graph_bridge) is enabled when creating the OpenXR instance, as described here.

最后,请注意您的代码片段中还有一个错误:您的 create_info 结构被声明为指针,但从未分配。最好将其声明为在堆栈上分配的本地。