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

如何在Visual Studio 2022的CMake项目中创建含多个主函数的文件

在VS2022 CMake项目中创建多个含main函数的独立可执行文件

CMake 默认一个项目中只能有一个可执行目标包含main函数,但你可以通过创建多个独立的可执行目标来实现每个文件带自己的main,具体步骤如下:

1. 整理项目结构(推荐)

为了让毕业论文的项目结构更清晰,建议把每个带main的程序放到单独的子文件夹中:

你的毕业论文项目/
├── CMakeLists.txt
├── ChapterDemo1/
│   └── main_demo1.cpp
├── ChapterDemo2/
│   └── main_demo2.cpp
└── FinalExperiment/
    └── main_experiment.cpp

当然你也可以直接在根目录放置多个main_xxx.cpp文件,分文件夹更便于后续维护和论文展示。

2. 编写根目录的CMakeLists.txt

核心是用add_executable为每个带main的文件创建单独的可执行目标,示例代码:

# 指定CMake最低版本(VS2022推荐3.21及以上)
cmake_minimum_required(VERSION 3.21)

# 项目名称(自定义,比如你的论文题目缩写)
project(Thesis_Demo_Projects)

# 为每个带main的文件生成独立可执行文件
add_executable(Demo1 ChapterDemo1/main_demo1.cpp)
add_executable(Demo2 ChapterDemo2/main_demo2.cpp)
add_executable(FinalExp FinalExperiment/main_experiment.cpp)

# (可选)如果有公共工具库需要给多个目标链接,可以这么做
# add_library(CommonUtils STATIC common/utils.cpp common/log.cpp)
# target_link_libraries(Demo1 PRIVATE CommonUtils)
# target_link_libraries(FinalExp PRIVATE CommonUtils)

3. 在VS2022中操作

  • 打开项目根目录(直接打开包含CMakeLists.txt的文件夹即可)
  • 等待VS自动完成CMake配置(右下角会有提示)
  • 在顶部工具栏的启动项下拉菜单中,你可以选择要运行的Demo1/Demo2/FinalExp
  • 点击生成按钮,每个目标会生成对应的可执行文件,默认存放在out/build/[你的配置]目录下

实用技巧(适配毕业论文需求)

  • 给每个目标添加严格编译警告,保证代码质量:
    target_compile_options(Demo1 PRIVATE /W4) # 开启最高等级警告
    
  • 调试时直接选择对应目标,按F5即可进入该程序的调试流程
  • 如果某个子项目包含多个源文件,可在子文件夹中编写单独的CMakeLists.txt,再用add_subdirectory引入根目录配置:
    # 根目录CMakeLists.txt中添加
    add_subdirectory(ChapterDemo1)
    # ChapterDemo1文件夹下的CMakeLists.txt
    add_executable(Demo1 main_demo1.cpp helper.cpp)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 06:53:23