在一个c++项目中,仅能出现一个main函数,但是我想通过clion来做leetcode算法题,每一个.cpp文件中都有一个主函数。解决办法是修改该项目的CMakelist文件。
我的CMakelist文件如下:
# 声明要求的cmake最低版本
cmake_minimum_required(VERSION 3.17)
# 声明一个工程
project(LeetCode)
set(CMAKE_CXX_STANDARD 11)
# 遍历项目根目录下所有的 .cpp 文件
file (GLOB files *.cpp)
foreach (file ${files})
string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
# 添加一个可执行的程序 语法: add_executable(程序名 源代码文件)
add_executable (${exe} ${file})
message (\ \ \ \ --\ src/${exe}.cpp\ will\ be\ compiled\ to\ bin/${exe})
endforeach ()
CMakelist文件这么写之后,不同的.cpp文件中可以出现相同的函数名和主函数而不会互相影响。
有时候在新建cpp文件后,add_executable (${exe} ${file}) 这个语句会被更改,就会报错存在多个main函数问题,把这个语句还原后,在CMakelists.txt文件处右键点击然后选择Reload CMake Project即可。
比如我想单独运行lc24.cpp文件,在这里(如下图)选择该文件,然后点击运行即可。