OpenXR™ 软件开发套件 (SDK) 项目
本仓库包含 OpenXR 头文件,以及 OpenXR 加载器的源代码和构建脚本。它包含所有预生成的源文件和头文件,以最小化依赖。
该项目的权威公共仓库位于 https://github.com/KhronosGroup/OpenXR-SDK。
包含生成本仓库文件的脚本的公共仓库位于 https://github.com/KhronosGroup/OpenXR-SDK-Source。它托管公共问题跟踪器,并接受来自公众的补丁(拉取请求)。该仓库也是示例代码(hello_xr)和 API 层源代码的所在地。
请注意,本仓库实际上是只读的:对本仓库的更改应在 OpenXR-SDK-Source 仓库中进行
目录结构
BUILDING.md
- 项目构建说明README.md
- 本文件COPYING.md
- 版权和许可信息CODE_OF_CONDUCT.md
- 行为准则external/
- 仓库中项目的外部代码include/
- OpenXR 头文件src/external/jsoncpp
- jsoncpp 项目源代码,加载器的包含依赖项src/loader
- OpenXR 加载器代码,包括生成的代码
构建
本项目使用 CMake 进行构建。
(可选)将 OpenXR 加载器构建为 DLL
默认情况下,OpenXR 加载器在 Windows 上构建为静态库,在其他平台上构建为动态库。要指定替代行为,请定义 CMake 选项 DYNAMIC_LOADER
,例如在 CMake 命令行中添加 -DDYNAMIC_LOADER=ON
或 -DDYNAMIC_LOADER=OFF
。
Windows
在 Windows 上支持使用 Visual Studio 2013 及更高版本构建此树中的 OpenXR 组件。开始之前,请确保适当的 "msbuild.exe" 在您的 PATH 中。此外,使用 CMake 生成解决方案/项目时,请确保使用正确的编译器版本号。提供以下表格供您参考:
Visual Studio | 版本号 |
---|---|
Visual Studio 2013 | 12 |
Visual Studio 2015 | 14 |
Visual Studio 2017 | 15 |
以下是具体的构建命令行示例。如果您已经熟悉使用 CMake 构建项目的过程,可以略过或跳过这些说明。
Windows 64 位
首先,使用 CMake 生成 64 位解决方案和项目文件:
mkdir build\win64
cd build\win64
cmake -G "Visual Studio [版本号] Win64" ..\..
最后,在 Visual Studio 中打开 build\win64\OPENXR.sln
以构建加载器。
Windows 32 位
首先,使用 CMake 生成 32 位解决方案和项目文件:
mkdir build\win32
cd build\win32
cmake -G "Visual Studio [版本号]" ..\..
在 Visual Studio 中打开 build\win32\OPENXR.sln
以构建加载器。
Linux
以下 Debian/Ubuntu 软件包提供了所有用于构建支持 OpenGL 和 Vulkan 的 xlib 或 xcb 所需的库。
build-essential
cmake
(较新版本,已知 3.10+ 可用)libgl1-mesa-dev
libvulkan-dev
libx11-xcb-dev
libxcb-dri2-0-dev
libxcb-glx0-dev
libxcb-icccm4-dev
libxcb-keysyms1-dev
libxcb-randr0-dev
libxrandr-dev
libxxf86vm-dev
mesa-common-dev
以下是具体的构建命令行示例。如果您已经熟悉使用 CMake 构建项目的过程,可以略过或跳过这些说明。
Linux 调试版
mkdir -p build/linux_debug
cd build/linux_debug
cmake -DCMAKE_BUILD_TYPE=Debug ../..
make
Linux 发布版
mkdir -p build/linux_release
cd build/linux_release
cmake -DCMAKE_BUILD_TYPE=Release ../..
make