【问题标题】:Use XrSceneLib_uwp in a native HoloLens 2 OpenXR application在本机 HoloLens 2 OpenXR 应用程序中使用 XrSceneLib_uwp
【发布时间】:2022-12-14 08:55:56
【问题描述】:

我正在尝试使用 OpenXR 创建本机 HoloLens 2 C++ 应用程序。在 Microsoft OpenXR-MixedReality 示例中,我发现了XrSceneLib_uwp配置类型设置为的项目静态库 (.lib)在 Visual Studio 属性中。据此,我尝试将它作为一个库添加到我的解决方案中,该解决方案中还有一个核心应用程序 (C++/WinRT),我想在其中使用来自XrSceneLib_uwp.在我看来,这是有道理的,因为我可以使用库来轻松创建全息标题场景。这里的问题是,当我构建我的解决方案时,我遇到了链接器错误,而且我不知道如何修复它们。我对 Visual Studio 也比较陌生(在我的例子中是 22 个),很可能我只是在链接过程中做错了。

尝试构建时出现链接器错误:

错误 LNK2019 未解析的外部符号 xrGetInstanceProcAddr 在函数“public: __cdecl ‘匿名命名空间’::ImplementXrApp::ImplementXrApp(struct engine::XrAppConfiguration)”中引用 (??0ImplementXrApp@?A0x934f03db@@QEAA@UXrAppConfiguration@engine@@@Z) CoreApp3 \repos\CoreApp3\CoreApp3\XrSceneLib_uwp.lib(XrApp.obj) 1

My solution explorer

这是我所做的:

  • 我复制并粘贴共享openxr_preview我项目文件夹中 OpenXR-MixedReality .zip 文件中的文件夹。
  • 添加XrSceneLib_uwp.vcxproj在 /shared/XrSceneLib 作为我的解决方案的现有项目。
  • 添加复制的路径共享openxr_preview中的文件夹属性->配置属性->C/C++->常规->附加包含目录.
  • 还添加路径XrSceneLib_uwp.vcxproj附加包含目录在我的主要项目(CoreApp)中。
  • 在 CoreApp 中添加对 XrSceneLib_uwp 的引用(添加->参考->项目).

之后一切正常,我什至可以构建解决方案。但是当我尝试使用该库时,我遇到了这些链接器错误。我不明白为什么它在 OpenXR-MixedReality 示例中有效,但当我尝试在不同的项目中实现它时却无效。我错过了什么?我假设 XrSceneLib 可能没有被设计为在其他项目中外部使用,但同时我认为它应该以某种方式成为可能。

我也尝试添加额外的图书馆目录和丢失的目标文件,但要么我做错了什么,要么根本不起作用。

我真的很感激任何帮助。

【问题讨论】:

  • 请将您的“链接错误”作为引用文本而不是图片发布。
  • 我添加了共享文件夹和openxr_preview将示例解决方案中的文件夹添加到新解决方案中,并手动添加附加包含目录为了XrSceneLib_uwp,SampleShared_uwp,pbr_uwpGltf-uwp,那么这个解决方案就可以构建成功了。由于此过程繁琐且容易遗漏,因此建议您直接在示例解决方案中创建您的项目。我们将进行更多测试,并会在有任何更新时通知您。

标签: c++ uwp hololens openxr


【解决方案1】:

我认为链接器无法找到 OpenXR Loader。 microsoft/OpenXR-MixedReality github repo 中的示例项目使用 NuGet 包管理器链接到 OpenXR Loader。如果我故意从示例项目中删除 NuGet 包引用,我会收到相同的链接器错误。

您可以使用 NuGet 链接到 OpenXR Loader,也可以自己构建 OpenXR Loader。查看 Microsoft 站点上的“在现有项目中使用 OpenXR”部分:

https://learn.microsoft.com/en-us/windows/mixed-reality/develop/native/openxr-getting-started#using-openxr-in-an-existing-project

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多