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
相关产品推荐
相关产品推荐

