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

【bug】diff-gaussian-rasterization Windows下编译 bug 解决

问题1 vcvarsall.bat" x86_amd64 && set

具体问题

\x00\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00*\x00\r\x00\n\x00’
error: Error executing cmd /u /c “F:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat” x86_amd64 && set

原因

这个是跨平台编译(32位→64位),大概率会失败,因为你已经在 64 位开发者 PowerShell 里了。
PyTorch 的 cpp_extension 依然会默认调用 x86_amd64,所以必须强制改成 x64 才行。

解决方式

设置环境变量

$env:PLATFORM="x64"
$env:DISTUTILS_USE_SDK="1"

问题2 “crtdefs.h”: No such file or directory

具体问题

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include\crt/host_config.h(231): fatal error C1083: 无法打开包括文件: “crtdefs.h”: No such file or directory
error: command ‘C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc’ failed with exit code 2

原因

1、Windows SDK 或 MSVC 头文件没装全 或者路径不对
2、CUDA 用的 nvcc 指向了错误的编译器

解决方法

cuda我是有安装的,系统路径也是有的。
vs 2022也有安装,路径也有,但还是要增加以下环境变量,增加后可以解决

$env:INCLUDE="$env:INCLUDE;F:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include"

问题3 crtdefs.h(10): fatal error C1083: 无法打开包括文件: “corecrt.h”: No such file or directory

具体问题

F:/Program Files (x86)/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/include\crtdefs.h(10): fatal error C1083: 无法打开包括文件: “corecrt.h”: No such file or directory
error: command ‘C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc’ failed with exit code 2

原因

你现在这个错误说明我们虽然把 crtdefs.h 找到了,但它自己还依赖 corecrt.h,而这个文件是在 Windows SDK 里,不在 MSVC 目录下。

解决

一开始忽略了Windows SDK这个东西,竟然是有用的,增加以下环境变量
$winSDK = “F:\Windows Kits\10\Include\10.0.22000.0”

$env:INCLUDE="$env:INCLUDE;$winSDK\ucrt;$winSDK\shared;$winSDK\um"

问题4 LINK : fatal error LNK1104: 无法打开文件“msvcprt.lib”

原因

LINK : fatal error LNK1104: 无法打开文件“msvcprt.lib” 表示链接器找不到 MSVC的标准C++运行库静态库文件,这是链接阶段必需的库。

解决

$msvcLib = "F:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x64"
$env:LIB="$env:LIB;$msvcLib"

问题5 LINK : fatal error LNK1104: 无法打开文件“uuid.lib”

原因

LINK : fatal error LNK1104: 无法打开文件“uuid.lib” 表示链接器找不到 Windows SDK 的 uuid.lib,这是一个系统库,通常在 Windows SDK 的 Lib 目录下。

解决

$winSdkLib = "F:\Windows Kits\10\Lib\10.0.22000.0"
$env:LIB="$env:LIB;$winSdkLib\um\x64;$winSdkLib\ucrt\x64"

问题6 LINK : fatal error LNK1158: 无法运行“rc.exe”

具体问题

正在创建库 build\temp.win-amd64-cpython-38\Release\cuda_rasterizer_C.cp38-win_amd64.lib 和对象 build\temp.win-amd64-cpython-38\Release\cuda_rasterizer_C.cp38-win_amd64.exp
正在生成代码
已完成代码的生成
LINK : fatal error LNK1158: 无法运行“rc.exe”
error: command ‘F:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64\link.exe’ failed with exit code 1158

原因

LINK : fatal error LNK1158: 无法运行“rc.exe” 错误表示链接器找不到 资源编译器 rc.exe,它是生成 Windows 资源文件(.res)的工具,位于 Windows SDK 目录里。

解决

$env:PATH="$env:PATH;F:\Windows Kits\10\bin\10.0.22000.0\x64"

成功了
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=%2Fydocs%2Fcollab%2Fapi%2Fv1%2Fdrive%2Fdownload%2F147n29ueoc39h9qvba2k08ia0oimpu&pos_id=img-WsCmezi7-1754915240502

http://www.lryc.cn/news/617763.html

相关文章:

  • 苹果个人开发者如何实现应用下载安装
  • 【Unity】打包学习笔记
  • IEEE754 double 类型步长规律,从1.0的二进制表示、紧挨着1.0略大和略小的数开始归纳
  • perl notes【1】
  • 【linux】企业级WEB应用服务器tomcat
  • 达梦数据库慢SQL日志收集和分析
  • 1.Apollo Planning 模块总结
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”
  • 2025.8.6 图论(1)Solution
  • CI/CD渗透测试靶场
  • JavaEE初阶2.0
  • 基于MongoDB/HBase的知识共享平台的设计与实现
  • HBase BlockCache:LRU Cache
  • SQL179 每个6/7级用户活跃情况
  • 数学建模——灰色预测(GM11)
  • window显示驱动开发—创建多平面覆盖资源
  • 微服务架构下的精准测试与环境复制实践指南
  • PTE之路--04文
  • 使用Pytest进行接口自动化测试(三)
  • 集团型企业如何统一管控子公司权限?
  • 机器学习中数据集的划分难点及实现
  • 计算机网络:1、OSI参考模型和TCP/IP模型
  • scikit-learn/sklearn学习|岭回归解读
  • 高并发场景下分布式ID生成方案对比与实践指南
  • Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming
  • Mining of Real-world Hypergraphs part1-2 逐字翻译解读
  • react中父子数据流动和事件互相调用(和vue做比较)
  • 剑桥大学最新研究:基于大语言模型(LLM)的分子动力学模拟框架,是MD的GPT时刻还是概念包装?
  • 机器翻译:Bahdanau注意力和Luong注意力详解
  • HarmonyOS AI辅助编程工具(CodeGenie)概述