项目场景:
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进行处理,非常感谢!