You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下使用MinGW安装Libtorch时CMake构建g++.exe报错是什么原因?

故障原因

你遇到的编译错误核心是官方预编译的Libtorch默认仅适配MSVC编译器,其自带的CMake配置会自动注入MSVC专属的编译参数:报错里出现的/EHsc、/wd4267、/bigobj等斜杠开头的参数都是Visual Studio编译器的专属格式,MinGW使用的GCC/G++完全不识别这类参数,因此会抛出参数不存在的错误。

解决步骤
  • 首先删除之前build目录下的所有缓存文件,避免旧配置干扰后续操作
  • 打开你的项目CMakeLists.txt,在find_package(Torch REQUIRED)行之前添加以下代码,强制清空Torch自带的MSVC专属编译参数:
set(TORCH_CXX_FLAGS "")
# 额外添加MinGW兼容的预处理定义,避免后续接口报错
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOMINMAX -D_WIN32_WINNT=0x0A00")
  • 重新执行cmake配置命令,建议额外指定C++标准版本、关闭不需要的CUDA配置减少兼容问题:
    cmake -G "MinGW Makefiles" -DCMAKE_PREFIX_PATH=C:\...\libtorch -DCMAKE_CXX_STANDARD=17 -DTORCH_CUDA_ARCH_LIST=Off ..
  • 配置完成后重新执行cmake --build . --config Release即可正常编译
额外注意事项

如果修改配置后仍然出现链接阶段的错误,说明你下载的是官方MSVC版本的Libtorch,预编译的库文件本身和MinGW不兼容,你需要自行使用MinGW从Libtorch源码编译生成对应版本的库文件后再使用。

内容的提问来源于stack exchange,提问作者AAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:15:06