目录
前言
由于搞Java用习惯了idea,所以搞c++的时候就选择了Clion。在开始跟着学习资料,运行一些helloworld的程序的时候,还可以正常搞定。后来打算练手一些简单项目,就出现了问题。毛子老兄的俄罗斯方块,一个makefile的项目。PS:左边的代码,不知道人家原先就是这样,还是上传到GitHub上格式就变了,可是另外一个文件格式就还正常,总而言之果然简单粗暴。
一开始的时候toolchain选择的是MinGW, 用clion打开的时候,就弹窗让clean,咱也不懂啊,就ok,接着就爆了。
然后就一顿搜,
- 有的说是clion版本的问题,说低版本的clion无法识别makefile项目,我用的是2021版
- 有的说toolchain要用Cygwin,
- clion官网上还有个配置步骤,写的也是云里雾里的,
- 还有的说要添加个运行配置,如下图,
总之,说什么的都有。
后来,终于在这个网站上找到了灵感https://youtrack.jetbrains.com/issue/CPP-21816/Makefile-project-Model-doesnt-support-Cygwin-in-Windows
解决之路
其实一开始报错信息就给了,是“make”这个命令找不到了,于是在clion的terminal窗口运行make命令,果然显示无法找到。大家别怪我懒,我一般不在环境变量里配置,一般都直接在开发工具里加。
于是,赶紧在环境变量里把bin路径加上,一运行还是不行,于是打开MinGW的目录,它的make命令居然叫mingw32-make.exe,又复制了个副本,重命名为make.exe。打开cmd运行make命令,好的可以了。然后切换到clion,重新clean,擦还是爆那个错。难道是缓存?重启一下clion,clean走你,f**k还是不行。切到terminal运行make,还是找不到,我懵了。。。
我又翻了下上边那个网站,发现那个人用的是Cygwin,没招,谁让咱初入门呢,不懂,换这个吧,然后一顿下载安装,配置环境变量,重启clion,运行make,我擦嘞。还是不行。。。我开始有点怀疑人生了。
再去翻了下那个回答,看他们的讨论似乎低版本存在这个问题,而且还没有修复,嘶~~~
我看着clion的窗口沉思,难道要换开发工具。。。
不知怎么,我鬼使神差的把clion关了,对,就是点右上角那个叉号,但是我又马上反应过来,不能就这么放弃,于是我又打开clion,在terminal窗口运行了下make,甜蜜的居然好了!!!
后续
只关注这个问题的可以跳过了,这里就跟题目的问题无关了,是关于俄罗斯方块的后续运行,make命令运行后,爆出找不到一个h文件,然后又去 Cygwin的安装助手里,把这个头文件下载下来,但是还是无法运行,然后又去clion的配置里看选项,发现makefile的选项里,我还选择的是MinGW,于是切换到Cygwin,OK后,clion一顿运行,可以看到已经开始在索引Cygwin的lib文件了。最后,运行readme里的构建命令,就可以看到目录里已经有了个封装好的exe文件了。运行一下,嘿,果然是熟悉的味道。
总结
当你所有的配置都确定无误后,重启软件可以解决百分之九十的问题,重启电脑可以解决百分之九十九的问题。