CMake报告说GCC坏了。我从哪里开始?

时间:2013-05-16 17:43:36

标签: gcc cmake

我正在尝试编译一个项目,但是CMake在开头就停止了gcc被破坏的消息(见下文)。当谈到CMake时,我是无知的,所以非常欢迎任何帮助我开始调试这个问题的帮助。

  • 海湾合作委员会(Ubuntu / Linaro 4.6.3-1ubuntu5) 4.6.3 (我检查过我的海湾合作委员会编制了一个'问候世界'问题)
  • CMake版 2.8.7
  • CMake命令:cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../Mantid

输出到终端:

  

- C编译器标识是GNU
   - CXX编译器标识是GNU
   - 无法确定Eclipse版本,假设至少为3.6(Helios)。如果这是错误的,请调整CMAKE_ECLIPSE_VERSION。
   - 检查工作C编译器:/usr/bin/gcc-4.6
   - 检查工作C编译器:/usr/bin/gcc-4.6 - 已损坏
CMake错误   /usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52   (消息):
C编译器“/usr/bin/gcc-4.6”无法执行   编译一个简单的测试程序。

它失败并显示以下输出:

  

改变目录:   /家庭/ jmborr / devel的/ mantidproject / mantid /代码/调试/ CMakeFiles / CMakeTmp

     

运行Build命令:/ usr / bin / make“cmTryCompileExec / fast”

     

/ usr / bin / make -f CMakeFiles / cmTryCompileExec.dir / build.make   CMakeFiles / cmTryCompileExec.dir /构建

     

make [1]:进入目录   `/家庭/ jmborr / devel的/ mantidproject / mantid /代码/调试/ CMakeFiles / CMakeTmp'

     

/ usr / bin / cmake -E cmake_progress_report   /家庭/ jmborr / devel的/ mantidproject / mantid /代码/调试/ CMakeFiles / CMakeTmp / CMakeFiles   1

     

构建C对象CMakeFiles / cmTryCompileExec.dir / testCCompiler.c.o

     

/usr/bin/gcc-4.6 / usr / include -o   CMakeFiles / cmTryCompileExec.dir / testCCompiler.c.o -c   /home/jmborr/devel/mantidproject/mantid/Code/debug/CMakeFiles/CMakeTmp/testCCompiler.c

     

gcc-4.6:警告:/ usr / include:链接器输入文件未使用,因为   链接未完成

     

链接C可执行文件cmTryCompileExec

     

/ usr / bin / cmake -E cmake_link_script   CMakeFiles / cmTryCompileExec.dir / link.txt --verbose = 1

     

/usr/bin/gcc-4.6 / usr / include / usr / lib   CMakeFiles / cmTryCompileExec.dir / testCCompiler.c.o -o cmTryCompileExec   -rdynamic

     

/ usr / bin / ld:找不到/ usr / include:文件格式不行   识别

     

/ usr / bin / ld:找不到/ usr / lib:文件格式无法识别

     

collect2:ld返回1退出状态

     

make [1]:离开目录

2 个答案:

答案 0 :(得分:1)

选中link

我遇到了同样的问题。我认为问题是你需要更多的参数来编译(比如链接器脚本,标志......)。像这样更改你的CMakeLists.txt并再试一次:

INCLUDE(CMakeForceCompiler)
CMAKE_FORCE_C_COMPILER(gcc GNU)
CMAKE_FORCE_CXX_COMPILER(g++ GNU)

不要忘记在环境变量中设置编译器的路径。

答案 1 :(得分:0)

在CLion中,我也发生了同样的事情。

检查您的编译器和其他东西是否正确安装和/或配置。

我重新安装了GCC编译器和CMake,然后重新配置了我的IDE。

从那时起,它对我一直有效!