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

Windows10下MinGW+CMake编译googletest执行make报路径找不到错误

Windows10 MinGW编译gtest路径报错解决方案

前置操作

先删除build目录下所有生成的缓存文件,每次调整参数后都要清空目录再重新生成,避免旧配置干扰。

具体修复步骤

  • 问题1:MinGW安装路径包含空格(你的MinGW放在Program Files目录下,空格会导致make命令解析路径失败)
    优先选择把MinGW整体迁移到不含空格、中文的路径下,比如D:\mingw64,之后更新系统环境变量里的MinGW bin路径。
    如果不想迁移,CMake生成时需要显式用双引号包裹所有带空格的路径参数。
  • 问题2:CMake参数配置不全,缺少Windows下编译gtest的必要参数
    清空build目录后,重新执行如下CMake配置命令:
    cmake .. -G "MinGW Makefiles" ^
    -DCMAKE_C_COMPILER="D:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe" ^
    -DCMAKE_CXX_COMPILER="D:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe" ^
    -DCMAKE_MAKE_PROGRAM="D:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/mingw32-make.exe" ^
    -DCMAKE_CXX_FLAGS=-std=gnu++11 ^
    -Dgtest_disable_pthreads=ON ^
    -DCMAKE_SH="CMAKE_SH-NOTFOUND"
    
    其中:
    • -Dgtest_disable_pthreads=ON 关闭pthread依赖,Windows MinGW环境默认没有该库,避免依赖缺失
    • -DCMAKE_SH="CMAKE_SH-NOTFOUND" 避免PATH环境变量里的sh.exe(通常来自Git、Cygwin)干扰MinGW make的路径解析
  • 问题3:Windows路径长度限制
    如果执行完上述步骤还是报错,可以把整个googletest-master目录移动到更短的根路径下,比如D:\gtest\,避免路径过长导致系统识别失败。
  • 最后执行编译命令:
    mingw32-make.exe
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:39:03