问题
在使用 CLion 编写C项目时,一个项目下如果包含
多个C文件
里有main 函数
,就会出现以下报错
出现问题的原因
在
CMakeLists.txt
文件里,所有包含main 函数 C文件
,都共用了这个a
,所有就会起冲突。
解决
使 ‘CMakeLists.txt’ 文件能自动给 main函数文件 起不同的名字,就完美解决
CMakeLists.txt
文件内容
# 遍历项目根目录下所有的 .cpp 文件 file (GLOB files *.c */*.c) foreach (file ${files}) string(REGEX REPLACE ".+/(.+)\\..*" "\\0" exe ${file}) add_executable (${exe} ${file}) message (\ \ \ \ --\ src/${exe}.cpp\ will\ be\ compiled\ to\ bin/${exe}) endforeach ()
技巧
# 如果你只需要根目录下的 test 文件夹的所有 .c 文件 file (GLOB files test/*.c) # 如果你只有两层目录的话 file (GLOB files *.c */*.c) # 同理,三层的话 file (GLOB files *.c */*.c */*/*.c) # 官方提供了一种递归的方法 # 这样在运行框会多一个 CMakeCXXCompilerId,不过无伤大雅 file (GLOB_RECURSE files *.c)
版权声明:《 【C语言】CLion 同个项目运行多个 main 函数C文件 》为明妃原创文章,转载请注明出处!
最后编辑:2020-11-2 08:11:13