FAILED: nvdiffrast_plugin.pyd
"VS路径\bin\Hostx64\x64/link.exe" Buffer.o CudaRaster.o RasterImpl.cuda.o RasterImpl.o common.o rasterize.cuda.o interpolate.cuda.o texture.cuda.o texture.o antialias.cuda.o torch_bindings.o torch_rasterize.o torch_interpolate.o torch_texture.o torch_antialias.o /nologo /DLL c10.lib c10_cuda.lib torch_cpu.lib torch_cuda.lib -INCLUDE:?warp_size@cuda@at@@YAHXZ torch.lib /LIBPATH:项目路径\venv\lib\site-packages\torch\lib torch_python.lib /LIBPATH:项目路径\venv\Scripts\libs "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64" cudart.lib /out:nvdiffrast_plugin.pyd
LINK : fatal error LNK1104: 无法打开文件“python310.lib”
ninja: build stopped: subcommand failed.
用这个ninja编译的时候出错,报错信息如上面的。
网上有人分析可能是这个程序和VS2022的兼容性冲突,它似乎是从VS2019的目录去找。比如可能同时装了两个版本的VisualStudio。这个我不确定是不是真实原因。
最终解决的思路是你既然在那个地方找不到要找的文件,那我就把你想找的文件放到你要找的地方。
我的解决方案是在自己python的安装目录下,比如python310,就找Python310\libs下的python310.lib文件,把它放到项目路径/venv/Scripts/libs下面(有venv是因为用python创建的虚拟环境)。
如果Scripts文件夹下没有这个libs文件夹,就手动创建一个。