【发布时间】:2015-07-05 04:14:21
【问题描述】:
我正在尝试使用 MinGW 在 Windows 7 上运行 CLion,但由于某种原因,CMake 无法编译简单的测试程序,但是当我创建一个简单的 hello world 文件时,当我直接调用编译器而不是 CMake 时,它编译得很好.
我已经尝试了几个版本的 MinGW,但对错误没有影响。我什至卸载了我的 AV 以查看是否是问题所在,但再一次没有任何改变。
我的路径中有 MinGW 和 CMake。起初我认为这可能是 TEMP 文件夹的权限问题,但它们看起来都很好。我也是管理员帐户。
这是我在 CLion 中遇到的错误:
Error:The C compiler "C:/MinGW/bin/gcc.exe" is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp
Run Build Command:"C:/MinGW/bin/mingw32-make.exe" "cmTryCompileExec141319549/fast"
C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTryCompileExec141319549.dir\build.make CMakeFiles/cmTryCompileExec141319549.dir/build
mingw32-make.exe[1]: Entering directory 'C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp'
"C:\Program Files (x86)\JetBrains\CLion 1.0\bin\cmake\bin\cmake.exe" -E cmake_progress_report C:\Users\Jim\.clion10\system\cmake\generated\4cb6a70c\4cb6a70c\__default__\CMakeFiles\CMakeTmp\CMakeFiles 1
CMakeFiles\cmTryCompileExec141319549.dir\build.make:56: recipe for target 'CMakeFiles/cmTryCompileExec141319549.dir/testCCompiler.c.obj' failed
process_begin: CreateProcess(C:\Users\Jim\AppData\Local\Temp\make68804-1.bat, C:\Users\Jim\AppData\Local\Temp\make68804-1.bat, ...) failed.
make (e=2): Het systeem kan het opgegeven bestand niet vinden.
mingw32-make.exe[1]: *** [CMakeFiles/cmTryCompileExec141319549.dir/testCCompiler.c.obj] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/Users/Jim/.clion10/system/cmake/generated/4cb6a70c/4cb6a70c/__default__/CMakeFiles/CMakeTmp'
Makefile:117: recipe for target 'cmTryCompileExec141319549/fast' failed
mingw32-make.exe: *** [cmTryCompileExec141319549/fast] Error 2
CMake will not be able to correctly generate this project.
这是我尝试从 CMD 使用 CMake 时遇到的错误:
【问题讨论】:
-
我尝试了你所说的,但错误与我之前的一样。这是日志的输出。 pastebin.com/hMFFN5Gs
-
我卸载了我的防病毒软件,禁用了 Windows Defender,因为它出于某种原因打开了,甚至禁用了我的防火墙。我已经尝试过 MinGW-w64 甚至是那些 TDM 之一,但它们都给出了相同的错误。但无论如何,我再次尝试使用 MinGW-w64 和最新的 CMake。这些是我在尝试您的建议时得到的日志:pastebin.com/wZZWx9Dy 与以前几乎相同。
-
它说“找不到文件”...你能在构建目录中找到生成的 Makefile 吗? (
C:/Users/Jim/Documents/test/buidl/CMakeFiles/CMakeTmp中的某些内容)如果是,请发布...buidl只是拼写错误,对吗?无论如何,编译器的测试有效,但 Make 测试无效。试试忍者。 -
呵呵,是的,只是拼写错误。无论如何,我在您建议的目录中找不到任何内容。我现在尝试过 ninja,CMake 似乎没有给我错误,但我在任何地方都找不到编译后的 hello world。这些是我从中得到的日志:pastebin.com/KK1GWHDb
-
哈哈,哎呀!是的,它编译得很好!我确实在谷歌上找到了一些关于将 Ninja 与 CLion 一起使用的信息:mergeconflict.net/2014/11/… 我可能会尝试这样做,因为 make 显然出于某种原因不想在我的计算机上工作。