Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake报告GCC已损坏。我从哪里开始?_Gcc_Cmake - Fatal编程技术网

CMake报告GCC已损坏。我从哪里开始?

CMake报告GCC已损坏。我从哪里开始?,gcc,cmake,Gcc,Cmake,我正试图编译一个项目,但CMake在一开始就停止了,它发出的消息是gcc被破坏了(见下文)。说到CMake,我是ignoramus,所以任何让我开始调试这个问题的帮助都是非常受欢迎的 GCC(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3(我检查了我的GCC是否编译了一个“hello world”问题) CMake版本2.8.7 CMake命令:CMake-G“Unix Makefiles”-DCMAKE\u BUILD\u TYPE=Debug../Mantid 输出

我正试图编译一个项目,但CMake在一开始就停止了,它发出的消息是gcc被破坏了(见下文)。说到CMake,我是ignoramus,所以任何让我开始调试这个问题的帮助都是非常受欢迎的

  • GCC(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3(我检查了我的GCC是否编译了一个“hello world”问题)
  • CMake版本2.8.7
  • CMake命令:
    CMake-G“Unix Makefiles”-DCMAKE\u BUILD\u TYPE=Debug../Mantid
输出到终端:

--C编译器标识为GNU
--CXX编译器标识为GNU
--无法确定Eclipse版本,假设至少为3.6(Helios)。如果这是错误的,请调整CMAKE\u ECLIPSE\u版本
--检查C编译器是否工作:/usr/bin/gcc-4.6
--检查C编译器是否正常工作:/usr/bin/gcc-4.6--出现故障 /usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (消息):
C编译器“/usr/bin/gcc-4.6”无法 编译一个简单的测试程序。

它失败,输出如下:

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

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

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

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

/usr/bin/cmake-E cmake进度报告 /home/jmbor/devel/mantidproject/mantid/Code/debug/cmakfiles/CMakeTmp/cmakfiles 一,

构建C对象cmakfiles/cmTryCompileExec.dir/testCCompiler.C.o

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

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

链接C可执行文件cmTryCompileExec

/usr/bin/cmake-E cmake链接脚本 CMakeFiles/cmTryCompileExec.dir/link.txt--verbose=1

/usr/bin/gcc-4.6/usr/include/usr/lib CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o-o cmTryCompileExec -动力学

/usr/bin/ld:找不到/usr/include:文件格式不正确 公认的

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

collect2:ld返回了1个退出状态

make[1]:离开目录

看看这个

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

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

别忘了在环境变量中设置编译器的路径。

在CLion中,我也遇到了同样的情况

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

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


从那时起,它对我起了作用

不是那样的。我发现问题只限于我的帐户。我建立了一个新的用户帐户,我可以从这个帐户编译。这意味着您的上一个帐户没有访问和执行编译器的管理员权限??正确的!是的,有。有一天我在毫无困难地编译,第二天我什么也做不了。想象一下:(我甚至禁用了我的.bash_别名,但没有解决这个问题。