当前位置: 首页 > article >正文

Windows 10 下 SIBR Core (i.e. 3DGS SIBR Viewers) 的编译

本文针对在 Windows 10 上从源码编译安装3DGS (3D Gaussian Splatting)的Viewers 即SIBR Core及外部依赖库extlibs(预编译的版本直接在页面https://sibr.gitlabpages.inria.fr/download.html下载) ,参考SIBR 的官方网站:https://sibr.gitlabpages.inria.fr,按照以下步骤进行。

1 获取源代码

下载SIBR Core源码(https://gitlab.inria.fr/sibr/sibr_core)的压缩包,也可以通过git clone https://gitlab.inria.fr/sibr/sibr_core.git -b master下载。或者采用3DGS项目下的SIBR_viewers(https://github.com/graphdeco-inria/gaussian-splatting)。本文采用后者代码构建。

2 需要安装的工具和依赖项

2.1 Git

安装过程见其他参考。注意:需要添加到系统环境变量中。

2.2 Visual Studio 2019 (本文采用 VS 2017)

安装过程见其他参考。注意:需要添加到系统环境变量中。

2.3 cmake 3.16 或更高版本(本文采用 3.26.3)

安装过程见其他参考。注意:需要添加到系统环境变量中。

2.4 Python 3.8 或更高版本 (本文 Python 3.9.12)

可以从 https://www.python.org/downloads 中安装和配置或直接安装Anaconda (本文基于Anaconda环境)。

2.5 PIL(pillow)

在Anaconda环境中安装 pip install pillow,离线下载网址:https://pypi.org/project/pillow/)。

2.6 ImageMagick

从网页https://imagemagick.org/script/download.php下载安装。注意:需要添加到系统环境变量中。

2.7 CUDA10.1 或更高版本(本文为CUDA11.7)和cudnn

安装过程见其他参考。

* 2.8 Doxygen 1.8.17 或更高版本(本文1.13.2,可选择不安装)

Doxygen用于生成本地文档,应在生成文档的路径中安装和配置(http://www.doxygen.nl/download.html)。注意:需要添加到系统环境变量中。

* 2.9 7-ZIP(可选择不安装)

下载地址 https://www.7-zip.org/download.html。
注意:(1) 需要添加到系统环境变量中。
(2) 如果直接下载SIBR Core所依赖的第三方库extlibs就不需要在线下载安装(本文采用此方法)。

* 在CMake构建期间将从在线载外部依赖关系,此过程可以先提前下载第三方库extlibs在编译。

3 构建过程

3.1 运行CMake GUI,选择sibr-core的根文件夹作为源目录,在sibr-core下新建 build 作为构建目录。
3.2 在CMake中配置,选择x64编译器。然后在ConfigureGenerate完成。
CMake
3.3VS2017中打开build文件夹中的sibr_projects.sln,选择Build_ALL目标生成,编译后的可执行文件将被放入sibr-core/install/bin目录中。
在这里插入图片描述

注:此过程常出现错误,见参考2

大概意思就是:VS2017 版本修复了老版本有关对齐存储部分缺陷,但修复本身也有缺陷。如果不想编译时报这个问题,就在预编译时定义一个宏 _ENABLE_EXTENDED_ALIGNED_STORAGE 或者 _DISABLE_EXTENDED_ALIGNED_STORAGE(笔者的理解是按照修复后的逻辑处理就定义带enable那个,按照老版本的逻辑处理就定义带disable那个)

在这里插入图片描述
分别通过在下图右侧缺少相应的sibe_*.lib对应项目的属性页-C/C++/预处理器/预处理器定义中添加_DISABLE_EXTENDED_ALIGNED_STORAGE解决此问题。
在这里插入图片描述

3.4 最终编译好的软件在根目录/install/bin下,可以找到相应的SIBR_*.exe文件。
在这里插入图片描述

参考

  1. https://sibr.gitlabpages.inria.fr
  2. https://blog.csdn.net/jiqiren_dasheng/article/details/88684370

http://www.kler.cn/a/572160.html

相关文章:

  • go前后端开源项目go-admin,本地启动
  • 【目录爆破与文件枚举工具对比】
  • 商淘云:跨境电商源码网站开发部署需要注意的三大关键点
  • QCP:数字科技先锋者 引领数字金融时代
  • SQL经典常用查询语句
  • 今天来介绍和讨论 AGI(通用人工智能)
  • 一种中文分词的动态规划模型
  • 纯前端实现「羊了个羊」小游戏(附源码)
  • DeepSeek掘金——DeepSeek-R1驱动的金融分析师
  • android13打基础: 控件alertdialog
  • 基于javaweb的SSM+Maven教务管理系统设计和实现(源码+文档+部署讲解)
  • 关于签名验证不存在的错误
  • Docker 学习(二)——基于Registry、Harbor搭建私有仓库
  • Android14 串口控制是能wifi adb实现简介
  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • 详解 scanf 和 printf(占位符、printf、scanf的返回值、printf的输出格式、scanf的输入格式)
  • 费曼学习法13 - 数据表格的魔法:Python Pandas DataFrame 详解 (Pandas 基础篇)
  • Iceberg Catalog
  • iOS安全和逆向系列教程 第3篇:搭建iOS逆向开发环境 (上) - 工具链与基础配置
  • 软件测试人员在工作中如何运用Linux?