改错半月志:CMake 错(gcc —broken)

项目场景:

Windows+Vscode+Cmake下

上次误打误撞的 错没了之后后,由于过于高兴,我并没有接着去实现CMakeLists.txt的接下来的操作{我记录一下(在终端输入的)mkdir build(新建build文件夹)———cd build(进入build目录)——cmake -G “MinGW Makefiles” ..(生成Makefiles文件-和configure步骤等效)——make(成了之后直接make就成了)


问题描述

注意:我是在windows下用的小白( 上都是大佬的Ubuntu 错比较多)

大家不要光看[cmake]   It fails with the following oautput:后面的,大家先从前面开始看一看(虽然行很多)需要耐心,可以看懂得(虽然我前前后后搞了半个月,,) 错很多很可怕。

在这里大家先对比一下大家自己的 错和上面的 错:

最主要的问题 错是:

[cmake] The C compiler:

[cmake]        “(你自己的编译器文件路径)”

[cmake]   is not able to compile a simple test program.

上述 错意思:即编译器无法正确的编译简单的测试程序

[cmake] CMake will not be able to correctly generate this project./不能正确生成项目

这也是我最开始注意的点(在 上搜来搜去

我要告诉你的是应该先看 错最开头是否出现fail,和broken的提示行:

[cmake] — Detecting C compiler ABI info – failed

[cmake] — Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe – broken

(xdm,一样的话再接着看)

改错历程(大家最好看看,如果你也被困扰了很久的话,希望给你些坚持的信心):大概是改了十天左右才决定一行一行的去看的, 上我只要是能搜到的办法都去试了,但是都不成,所以没办法了才注意到前面)大家如果是一出现就看到了我的文章,请大家一定要一行行的看一下(有时候看似最长的路也是最直接的。


原因分析:

[cmake] — Detecting C compiler ABI info – failed

[cmake] — Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe – broken

上一句我并没有太大的收获,然后就一直在和gcc死磕——{大家都开始用cmake了,Mingw-64肯定都安了也会配置vscode了(没有的话后面也不会讲(●ˇ?ˇ●))

问题排查:我先在vscode里编译了(g++ -g hello.ccp -o hello)一下简单的程序来检查是否是编译器坏了,发现可以生成hello.exe文件,是没有问题的,2,然后我在学长的帮助下了解到了一个 站:stack overflow(它是英文的,,而且有的图片上的英文是不可以用浏览器翻译的),所以看到的时候很崩,但是想想之前做了那些鬼事,我又接着看下去了,这个 站是用来解决 错的,推荐给大家。

我的问题是在看了这篇解决的:


解决方案:

如果你和我的 错一样,解决方法真的离谱。

上面那篇里

这给在很多文章里都看到过,但在我那不管用,,,(作用好像是对编译器的强制声明,,还不大懂,还在学)

我看到最离谱的是这哥的回答:

Same happened with me, in CLion.

Check if your compilers and other things are properly installed and/or configured.

I Re-installed the GCC Compiler and the CMake, then reconfigured my IDE.

and it worked for me since then!

看完我根本没信,,,,,但是但是但是,(15天了,整整半个月了)当所有的方法都不成时,我 的脑海里突然响起:最后的那个最不可能的也是对的。

所以我果断重装了mingw-64。(重装mingw-64时我又遇到了The file has been downloaded incorrectly!,简直痛苦,然后解决了)

然后重新配置了vscode,我一直测试到了底生成了hello.exe,这回是真的成功了。

总结一下:重装MinGw-w64即解决了问题,我花了半个月到最后解决方法却是这么简单,成功的时候我像是范进中举般狂喜,细想下来我真的感慨良多,(为了最后这一步)我东查西找的也学会了很多,但远水解不了近渴,解决不了就会很难受,有时候 错多并不可怕,可怕的是找不到问题的本源,这是我的一些感悟,也纪念下一个 错改15天的坚持吧。如果以后都可以先从最简单的问题开始排除可能就不需要这么久了,大家在看这篇文章不知道会不会用太久,还是谢谢大家看到这里(太不容易了,希望大家都能保持这份恒心)。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月11日
下一篇 2022年3月11日

相关推荐