如何使用Jetbrains Clion编译并运行单个cpp文件

我们都知道clion采用cmake来构建项目并运行,对于单个cpp文件的编译并不支持。网上的一些方法都是通过修改CmakeLists.txt文件来实现的, 可是每创建一个文件就得修改一次文件, 相对繁琐, 那么有没有什么办法一劳永逸呢?
哈哈, 当然是有的啦!!!
我们可以通过配置external tools来实现这一功能。

1.配置External Tools

如何使用Jetbrains Clion编译并运行单个cpp文件_第1张图片

如何使用Jetbrains Clion编译并运行单个cpp文件_第2张图片
如何使用Jetbrains Clion编译并运行单个cpp文件_第3张图片

2 配置快捷键

如何使用Jetbrains Clion编译并运行单个cpp文件_第4张图片

3.测试

如何使用Jetbrains Clion编译并运行单个cpp文件_第5张图片
如何使用Jetbrains Clion编译并运行单个cpp文件_第6张图片

大功告成

在配置完后我想有没有可能一键编译执行, 进而进行了尝试。
然而。。。
命令行可以执行, 工具就是不行, 他为什么就是不行呢。。。
如何使用Jetbrains Clion编译并运行单个cpp文件_第7张图片

如何使用Jetbrains Clion编译并运行单个cpp文件_第8张图片

另外

针对修改cmakelists文件我写了个python脚本,在生成文件后可以通过右键的external tools自动添加到cmakelists文件中,方便不少.

import sys
from xpinyin import Pinyin

str = r"""
cmake_minimum_required(VERSION 3.17)
project(pro01)
set(CMAKE_CXX_STANDARD 17)

"""

def getProName(path: str) -> str:
    name = path.split("/")[-1].split(".")[0]
    name = name.strip().replace(" ", "_")
    p = Pinyin()
    return p.get_pinyin(name, "_")


def Add(cmake_path: str, file_path: str) -> str:
    f1 = open(file=cmake_path, mode="w", encoding="utf-8")
    f1.write(str)
    name = getProName(file_path)
    f1.write('add_executable(%s "%s")\n' % (name, file_path))
    f1.close()
    return name

if __name__ == '__main__':
    pro = sys.argv[1].replace("\\", "/")
    cmake_path = pro + "/CMakeLists.txt"
    filename = sys.argv[2].replace("\\", "/")
    name = Add(cmake_path=cmake_path, file_path=filename)
    print("%s successfully added" % (name))

配置外部工具

如何使用Jetbrains Clion编译并运行单个cpp文件_第9张图片
program:

填脚本生成的exe路径

Arguments:

"$ProjectFileDir$" "$FilePath$"

Working dictionary:

$FileDir$

如何使用Jetbrains Clion编译并运行单个cpp文件_第10张图片
如何使用Jetbrains Clion编译并运行单个cpp文件_第11张图片
如何使用Jetbrains Clion编译并运行单个cpp文件_第12张图片

你可能感兴趣的:(C++,clion,编译单个文件)