# 问题解决
主要参考在Windows安装PyTorch3D的坎坷之路 (opens new window),下载了 cub 1.10.0 和它链接里的 pytorch3d。
报了如下错:
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
File "D:\Anaconda3\envs\romp\lib\site-packages\torch\utils\cpp_extension.py", line 1555, in _run_ninja_build raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension
修改了 D:\Anaconda3\envs\romp\Lib\site-packages\torch\utils\cpp_extension.py
1496 行 -v 为 --version
command = ['ninja', '-v']
然后这样其实是不行的,会有无法打开文件 obj 的 1181 错误,无论怎么更换 torch 或 torch3d 版本都不对,Stack Overflow 上关于 VS 1181 错误的解答也没用,直到看到了这篇:pytorch3D Win10 conda 安装 cuda 10.2+pytorch 1.7.1 (opens new window)
赶紧把上面的 --version 再改回 -v
发现问题的本质在 D:\Anaconda3\envs\romp\Lib\site-packages\torch\include\torch\csrc\jit\ir\ir.h
直接注释掉 1347 行
static constexpr Symbol Kind = ::c10::prim::profile_optional;
之后便可以成功编译
# 附
如何在 x86 Native Tools Command Prompt for VS 2017 中运行 conda 环境
D:\Anaconda3\Scripts\activate.bat D:\Anaconda3\envs\romp