Clion单个文件编译执行

Clion单个文件编译执行

打开一个已有项目(文件夹)或者新建一个项目,会有提示让创建自己的Cmake那一堆东西(或者它自动创建好了)

下载插件

Clion单个文件编译执行

然后打开CMakeLists.txt(就在项目目录下的第一级子目录里),把这个代码贴进去

# 如果你只需要根目录下的 test 文件夹的所有 .cpp 文件
file (GLOB files test/*.cpp)
# 如果你只有两层目录的话
file (GLOB files *.cpp */*.cpp)
# 同理,三层的话
file (GLOB files *.cpp */*.cpp */*/*.cpp)

# 官方提供了一种递归的方法
# 这样在运行框会多一个 CMakeCXXCompilerId,不过无伤大雅
file (GLOB_RECURSE files *.cpp)

打开一个单个的cpp文件或者c文件,我们想只执行它,单击右键,再点击这个(红圈里的):

Clion单个文件编译执行

然后再打开CMakeLists.txt(就在项目目录下的第一级子目录里)会有个提示是是否重新加载CMake,点击重新加载会在里面加上一行add_executable(xxx),点击自动加载则以后就不用再手动加载了

这时候就发现运行调试的位置已经有了相关的单个文件的调试配置(也变绿了)

Clion单个文件编译执行

然后如果我们在某个文件夹下运行一个CPP文件,执行它要调用也是在这个文件夹下的一个txt文档,则可以编辑配置,设置一下工作目录(点+号选择一个工作目录)

Clion单个文件编译执行
Clion单个文件编译执行

这样的话一个文件夹下的多个cpp文件都可以各自单独执行了,也不会发生因为多个main函数引起的错误

这是我的CmakeLists.txt所有内容:

cmake_minimum_required(VERSION 3.20)
project(CODING__ALAN_CF)

set(CMAKE_CXX_STANDARD 14)
include_directories(.)
# 如果你只需要根目录下的 test 文件夹的所有 .cpp 文件
file (GLOB files test/*.cpp)
# 如果你只有两层目录的话
file (GLOB files *.cpp */*.cpp)
# 同理,三层的话
file (GLOB files *.cpp */*.cpp */*/*.cpp)

# 官方提供了一种递归的方法
# 这样在运行框会多一个 CMakeCXXCompilerId,不过无伤大雅
file (GLOB_RECURSE files *.cpp)


add_executable(GalleryIllumination "SRM 805/GalleryIllumination.cpp" "SRM 805/test2.cpp")
add_executable(test_clion "SRM 805/test_clion.cpp")
add_executable(Third "Compiler Theory/Third.c")
add_executable(new_forth "Compiler Theory/new_forth.cpp")
add_executable(test2 "SRM 805/test2.cpp")

关于可能出现的运行乱码问题的解决办法

我的另一篇

上一篇:Centos7 安装Tensorflow


下一篇:Mysql server体系架构