CLion中MinGW/Cygwin GCC编译测试程序失败,路径异常求助
解决CLion配置Cygwin/MinGW时的CMake路径错误问题
问题根源分析
从你贴的错误日志里能一眼看到路径乱码(比如C:\Users\╧юы№чютрЄхы№),这才是核心问题——你的Windows用户名是俄文(非ASCII字符),导致CMake解析路径时出现编码转换错误,找不到编译测试用的文件。至于Cygwin的CMake兼容问题,本质也是路径解析出了问题。
一步步解决方法
1. 优先修复MinGW配置(推荐)
MinGW本身没毛病,就是路径编码搞的鬼:
- 修改CLion的临时文件目录
CLion默认用系统临时文件夹(在你的用户目录下),我们手动指定一个全英文路径的临时文件夹:- 打开CLion,进入
File > Settings > Build, Execution, Deployment > Build Tools > CMake - 在
CMake options里添加一行:
(先在D盘建好-DCMAKE_TMP_DIR=D:/CLion_TempCLion_Temp这个空文件夹,路径必须全英文,不能有空格和特殊字符)
- 打开CLion,进入
- 重新配置MinGW工具链
- 进入
File > Settings > Build, Execution, Deployment > Toolchains - 选中
MinGW,检查Compiler(比如D:/MinGW/mingw64/bin/gcc.exe、g++.exe)和Debugger(gdb.exe)的路径是否正确 - 点击
Apply后,再点Configure按钮重新生成CMake缓存
- 进入
2. 修复Cygwin的CMake兼容问题
如果非要用Cygwin:
- 别单独装官网的CMake,CLion已经提示得很清楚了:Cygwin需要专门编译的CMake版本,直接用Cygwin自带的就行:
- 打开Cygwin的安装器(setup-x86_64.exe),搜索
cmake,勾选安装Cygwin仓库里的cmake包 - 在CLion的
Toolchains里选Cygwin,然后把CMake的路径设为Cygwin安装目录下的bin/cmake.exe(比如C:/cygwin64/bin/cmake.exe) - 同样要把临时目录改成全英文路径,避免编码问题
- 打开Cygwin的安装器(setup-x86_64.exe),搜索
3. 终极方案:换成全英文用户名的Windows账户(彻底解决编码问题)
如果改临时目录还是不行,最彻底的办法是换个全英文用户名的Windows账户:
- 注意:这个操作需要管理员权限,先备份好重要数据再弄:
- 创建一个新的管理员账户,用户名全是英文
- 登录新账户,把旧账户的个人文件(文档、桌面等)迁移过来
- 卸载CLion和编译器,重新安装到全英文路径下(比如
D:/Programs/CLion、D:/Programs/MinGW)
验证方法
配置完后,新建一个C/C++项目,点击Build按钮,如果能成功编译运行,说明问题解决了。要是还有错误,去看CMakeOutput.log和CMakeError.log,确认路径是不是已经变成正常的英文路径了。
内容的提问来源于stack exchange,提问作者taciturno
相关产品推荐
相关产品推荐

