【问题标题】:CMake compiling results in errorsCMake编译导致错误
【发布时间】:2015-06-29 12:07:48
【问题描述】:

C 编译器标识未知 CXX 编译器 标识未知 检查工作的 C 编译器: C:/MinGW/bin/gcc.exe 检查工作的 C 编译器: C:/MinGW/bin/gcc.exe -- C:/Program Files 处的 CMake 错误 (x86)/CMake/share/cmake-3.2/Modules/CMakeTestCCompiler.cmake:61 (消息):C 编译器“C:/MinGW/bin/gcc.exe”不能 编译一个简单的测试程序。

失败,输出如下:

更改目录:C:/SFML-2.2/bin/CMakeFiles/CMakeTmp

运行编译命令:“C:/MinGW/bin/mingw32-make.exe”
"cmTryCompileExec3616319305/快"

C:/MinGW/bin/mingw32-make.exe -f
CMakeFiles\cmTryCompileExec3616319305.dir\build.make
CMakeFiles/cmTryCompileExec3616319305.dir/build

mingw32-make.exe[1]:进入目录
'C:/SFML-2.2/bin/CMakeFiles/CMakeTmp'

"C:\Program Files (x86)\CMake\bin\cmake.exe" -E cmake_progress_report C:\SFML-2.2\bin\CMakeFiles\CMakeTmp\CMakeFiles 1

构建 C 对象
CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj

C:\MinGW\bin\gcc.exe -o
CMakeFiles\cmTryCompileExec3616319305.dir\testCCompiler.c.obj -c
C:\SFML-2.2\bin\CMakeFiles\CMakeTmp\testCCompiler.c

CMakeFiles\cmTryCompileExec3616319305.dir\build.make:56:配方 目标
'CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj' 失败

mingw32-make.exe[1]:离开目录
'C:/SFML-2.2/bin/CMakeFiles/CMakeTmp'

mingw32-make.exe[1]: ***
[CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj] 错误 1

Makefile:116: 目标“cmTryCompileExec3616319305/fast”的配方 失败

mingw32-make.exe: *** [cmTryCompileExec3616319305/fast] 错误2

CMake 将无法正确生成此项目。称呼 堆栈(最近调用优先):CMakeLists.txt:16(项目)

配置不完整,出现错误!也可以看看 “C:/SFML-2.2/bin/CMakeFiles/CMakeOutput.log”。也可以看看 "C:/SFML-2.2/bin/CMakeFiles/CMakeError.log"。


编译C编译器识别源文件 “CMakeCCompilerId.c”失败。编译器:C:/MinGW/bin/gcc.exe 构建 标志:标识标志:

输出为:1

编译C编译器识别源文件 “CMakeCCompilerId.c”失败。编译器:C:/MinGW/bin/gcc.exe 构建 标志:ID标志:-c

输出为:1

编译C编译器识别源文件 “CMakeCCompilerId.c”失败。编译器:C:/MinGW/bin/gcc.exe 构建 标志:标识标志:-Aa

输出为:1

检查 C 编译器是否为 IAR 使用 "" 不匹配 "IAR .+ 编译器”:gcc.exe:致命错误:没有输入文件编译 终止。编译CXX编译器识别源文件 “CMakeCXXCompilerId.cpp”失败。编译器:C:/MinGW/bin/g++.exe 构建 标志:标识标志:

输出为:1

编译CXX编译器识别源文件 “CMakeCXXCompilerId.cpp”失败。编译器:C:/MinGW/bin/g++.exe 构建 标志:ID标志:-c

输出为:1

检查 CXX 编译器是否为 IAR 使用 "" 不匹配 "IAR .+ 编译器”:g++.exe:致命错误:没有输入文件编译 终止。确定 C 编译器是否工作失败 以下输出:更改目录:C:/SFML-2.2/bin/CMakeFiles/CMakeTmp

运行编译命令:“C:/MinGW/bin/mingw32-make.exe” "cmTryCompileExec3616319305/fast" C:/MinGW/bin/mingw32-make.exe -f CMakeFiles\cmTryCompileExec3616319305.dir\build.make CMakeFiles/cmTryCompileExec3616319305.dir/build

mingw32-make.exe[1]:进入目录 'C:/SFML-2.2/bin/CMakeFiles/CMakeTmp'

"C:\Program Files (x86)\CMake\bin\cmake.exe" -E cmake_progress_report C:\SFML-2.2\bin\CMakeFiles\CMakeTmp\CMakeFiles 1

构建 C 对象 CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj

C:\MinGW\bin\gcc.exe -o CMakeFiles\cmTryCompileExec3616319305.dir\testCCompiler.c.obj -c C:\SFML-2.2\bin\CMakeFiles\CMakeTmp\testCCompiler.c

CMakeFiles\cmTryCompileExec3616319305.dir\build.make:56:配方 目标'CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj' 失败

mingw32-make.exe[1]: 离开目录 'C:/SFML-2.2/bin/CMakeFiles/CMakeTmp'

mingw32-make.exe[1]: *** [CMakeFiles/cmTryCompileExec3616319305.dir/testCCompiler.c.obj] 错误 1

Makefile:116: 目标“cmTryCompileExec3616319305/fast”的配方 失败

mingw32-make.exe: *** [cmTryCompileExec3616319305/fast] 错误2

【问题讨论】:

  • 你有什么问题?
  • SFML 为所有支持的平台上的每个主要编译器/版本都提供了二进制文件。你不需要用 CMAKE 自己重建它。只需链接它。似乎您没有所有需要的工具链可执行文件的路径

标签: c++ compiler-errors cmake cmake-gui


【解决方案1】:

回答你从未问过的问题......你没有安装 CMake 能够找到和使用的编译器。安装一个,然后重试。

【讨论】:

  • Darh Vega 在回答问题时应该如何学会提出正确的问题?
  • 慢慢地,我猜....