使 CLion 编译&运行单个 C/C++ 代码文件

如果不想看我那么多「废话」的可以直接点这里

众所周知,JetBrains家的一整套IDE向来都是好评如潮,跨平台及强大的自动补全功能实在是让我爱不释手!

那么作为一个C语言入门的程序 dog,自然也早早的下载了旗下的 C/C++ 的 IDE —— CLion

当然...它用来打工程非常好用,但是对于既是苦逼的大学生又同时兼职 ACM 队员的我来说,更多的时间其实是在打算法题,那么这个时候 IDE 能不能不在建立新工程的情况下,就可以编译运行带主函数的 cpp 文件,其实是很重要的一点

所以当我心潮澎湃地打开 CLion,新建一个工程,比如下图
Snipaste_2018-04-09_19-10-07
CLion 已经为你自动创建好了一个 main.cpp,里面的内容是输出 Hello, World!
编译一下,完美运行!
Snipaste_2018-04-09_19-14-05
一切看起来是那么的美好,直到...
我创建了一个新的C++代码文件,命名为 AandB.cpp
Snipaste_2018-04-09_19-30-10
并向里面添加了我想要写的 a + b 的内容...
Snipaste_2018-04-09_19-31-32
接下来我按下了 Run ——神奇的事情发生了!
Snipaste_2018-04-09_19-37-08
『好小子,你连编译都过不去了!』 我愤慨了一波。

这时候该怎么办呢??新建工程显然是不可取的,如果每次都要那么麻烦的建立一个新工程,又累又占用空间的。直接在工程里删除的话,又无法保留下文件,当我想要回顾的时候,找不到代码其实是很难受的一件事。

但是不能编译单个文件的话,对于参加 ACM 的我,平时大量时间肯定是花在算法题上,要是这个问题无法解决,那这个IDE岂不是要长时间「吃灰」?

可是!这么漂亮美观的IDE我可不想抛弃啊!难道就没有任何解决办法了吗?!

聪明的读者应该猜到,既然我写了这篇博客,就证明一定有更简洁的解决办法(逃

我们可以观察到在添加新文件的时候,有一个 Add to targets 的选项,可以看出,下面显示的这几句话是保存在工程中的 CMakeLists.txt 这个文件中的

打开这个文件,我们能清楚地看到这句话变成了这样
Snipaste_2018-04-09_20-20-30
一个工程名称,后面跟了两个文件名,随便想想都知道,一个工程里是不可能编译两个都有主函数的文件啊!在很早以前的很经典的 VC++6.0 上便也是这样了呀!

于是我就突发奇想,如果我加一条 add_excutable 语句,是否能多编译一个文件?
就比如这样
Snipaste_2018-04-09_20-30-18
然后点击 reload changes

当我Run的时候——哇!神奇的事情又发生了!!
Snipaste_2018-04-09_20-36-17
出现了!!我想要的 AandB 选项!!我迫不及待地选择了下去!
Snipaste_2018-04-09_20-37-22
可以!完美!运行!实在是太开心了!

总结

想让 CLion 能够编译&运行单个 C/C++ 代码文件,只需要往工程里的 CMakeLists.txt 文件中添加一句

add_excutable(file_name file_name.xxx)

如果是放在工程里的其他文件夹,则还需要加上其所在路径,例如

add_excutable(file_name src/file_name.xxx)

然后 reload changes 或者打开自动保存,我们遍可以在run中找到我们想要的那个要编译运行的那个文件了。当然,假如不想编译运行某个文件却又想在工程中保留下来,那只需要删除相应的 add_excutable 语句即可

以上

Jeson.Vendetta.Xie

世上佳作千万,何处得以容身?