我正在尝试编译一个项目,但是CMake在开头就停止了gcc被破坏的消息(见下文)。当谈到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]:离开目录
答案 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。
从那时起,它对我一直有效!