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

jmb*_*orr 10 gcc cmake

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

  • GCC(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3(我检查过我的GCC编译了一个'hello world'问题)
  • 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- 在/usr/share/cmake-2.8/Modules/CMakeTestCCompiler中损坏的
CMake错误.cmake:52(MESSAGE):
C编译器"/usr/bin/gcc-4.6"无法编译简单的测试程序.

它失败并带有以下输出:

更改目录:/ home/jmborr/devel/mantidproject/mantid/Code/debug/CMakeFiles/CMakeTmp

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

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

make [1]:进入目录`/ home/jmborr/devel/mantidproject/mantid/Code/debug/CMakeFiles/CMakeTmp'

/ usr/bin/cmake -E cmake_progress_report/home/jmborr/devel/mantidproject/mantid/Code/debug/CMakeFiles/CMakeTmp/CMakeFiles 1

构建C对象CMakeFiles/cmTryCompileExec.dir/testCCompiler.co

/usr/bin/gcc-4.6/usr/include -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.co -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.co -o cmTryCompileExec -rdynamic

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

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

collect2:ld返回1退出状态

make [1]:离开目录

ara*_*van 5

检查此链接

我有同样的问题。我认为问题在于您需要更多参数来编译(例如链接器脚本、标志...)。像这样更改你的 CMakeLists.txt 并重试:

INCLUDE(CMakeForceCompiler)
CMAKE_FORCE_C_COMPILER(gcc GNU)
CMAKE_FORCE_CXX_COMPILER(g++ GNU)
Run Code Online (Sandbox Code Playgroud)

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