Clion单个文件编译执行
打开一个已有项目(文件夹)或者新建一个项目,会有提示让创建自己的Cmake那一堆东西(或者它自动创建好了)
下载插件
然后打开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文件,我们想只执行它,单击右键,再点击这个(红圈里的):
然后再打开CMakeLists.txt(就在项目目录下的第一级子目录里)会有个提示是是否重新加载CMake,点击重新加载会在里面加上一行add_executable(xxx)
,点击自动加载则以后就不用再手动加载了
这时候就发现运行调试的位置已经有了相关的单个文件的调试配置(也变绿了)
然后如果我们在某个文件夹下运行一个CPP文件,执行它要调用也是在这个文件夹下的一个txt文档,则可以编辑配置,设置一下工作目录(点+号选择一个工作目录)
这样的话一个文件夹下的多个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")
关于可能出现的运行乱码问题的解决办法
我的另一篇