这是一个非常明确的错误,依然是环境和依赖的问题,但这次不是 Python 库,而是 C++ 编译缺少了依赖文件。
错误核心
请看日志中的这几行红色报错:
Plaintext
fatal error: glm/glm.hpp: No such file or directory
19 | #include <glm/glm.hpp>
| ^~~~~~~~~~~~~
原因: 编译过程中找不到 glm 这个数学库的头文件。
通常情况下,这个库应该位于 submodules/diff-gaussian-rasterization-radar/third_party/glm 目录下。这说明你在下载代码时,Git 子模块(Submodule)没有被正确下载或初始化,导致那个文件夹是空的。
解决方案
你需要手动下载缺失的 glm 依赖。请按照以下步骤操作:
步骤 1:补全 Git 子模块 (推荐)
尝试使用 git 命令自动拉取缺失的文件。
Bash
# 进入到该子模块的目录
cd submodules/diff-gaussian-rasterization-radar
# 初始化并更新该目录下的子模块 (glm)
git submodule update --init --recursive
# 回到项目根目录
cd ../..
如果上面的命令执行成功 (你会看到它下载了一些东西),那么直接跳到步骤 3。
步骤 2:如果 Git 命令失败 (备选方案)
如果你在内网或者 git 连接有问题,或者项目原本的 .gitmodules 配置有问题,你可以手动克隆 glm 库到正确的位置:
Bash
# 进入 third_party 目录
cd submodules/diff-gaussian-rasterization-radar/third_party
# 删除可能存在的空文件夹
rm -rf glm
# 手动克隆 glm 库 (这是一个只有头文件的 C++ 库)
git clone https://github.com/g-truc/glm.git
# 回到项目根目录
cd ../../..
步骤 3:再次尝试安装
修复好依赖后,再次运行之前的安装命令:
Bash
pip install submodules/diff-gaussian-rasterization-radar --no-build-isolation
关于那一堆 Warning (警告)
你在日志中看到的大量类似下面的警告:
Plaintext
warning: 'T* at::Tensor::data() const [with T = float]' is deprecated
请直接忽略它们。
这是因为 diff-gaussian-rasterization 的代码写得比较早,使用了一些旧版的 PyTorch C++ API (.data()),而你现在安装的 PyTorch 版本较新(建议改用 .data_ptr())。这仅仅是警告,不会导致编译失败,只要解决了上面的 fatal error,这些警告不会影响最终结果。