You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单个CLion项目中运行多个独立C++源文件

CLion同一项目下多cpp文件单独运行解决方案

报错本质

你遇到的链接错误是C++构建规则的正常限制:同一个可执行程序只能存在一个main()入口函数。你当前的CMake配置默认把项目内所有.cpp文件都编译链接到同一个名为trial的可执行目标里,main.cpp和second.cpp都定义了main()函数,链接阶段就会检测到重复符号,抛出报错。

最优解决方案(适配PyCharm式单文件运行体验)

通过修改CMake配置,为每个.cpp文件单独生成独立的可执行目标,操作步骤如下:

  1. 打开项目根目录下的CMakeLists.txt文件
  2. 清空原有配置内容,替换为以下代码(版本号、C++标准可以和你原配置保持一致,不用强行修改):
cmake_minimum_required(VERSION 3.20)
project(trial)

set(CMAKE_CXX_STANDARD 17)

# 遍历项目根目录下所有.cpp文件
file(GLOB ALL_CPP_FILES *.cpp)
foreach(CPP_FILE ${ALL_CPP_FILES})
    # 取文件名(不含后缀)作为对应可执行目标的名称
    get_filename_component(TARGET_NAME ${CPP_FILE} NAME_WE)
    add_executable(${TARGET_NAME} ${CPP_FILE})
endforeach()
  1. 配置修改完成后,点击CLion弹出的「Reload Changes」按钮,或者右上角CMake刷新按钮,重载配置
  2. 后续你新增任意.cpp文件,只需要重载一次CMake,就可以在CLion右上角的目标选择下拉框中找到对应文件名的运行目标,点击运行即可单独执行该文件,和PyCharm中运行单个.py文件的体验完全一致。

临时替代方案

如果只是临时测试,不想修改CMake配置,也可以手动把不需要运行的.cpp文件中的main()函数注释掉,只保留你当前要运行的文件的main()函数即可,缺点是每次切换运行文件都需要修改注释,文件数量多了操作效率很低。

内容的提问来源于stack exchange,提问作者user11623586

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:48:02