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

如何配置CMakeLists以生成hoge和hoge2两个独立可执行文件?

解决方法:配置CMakeLists.txt生成多个独立可执行文件

很简单,只需要在你的CMakeLists.txt里为每个可执行文件单独声明一个编译目标就行,具体操作步骤如下:

1. 修改CMakeLists.txt

打开你的CMakeLists.txt,在原有配置基础上,添加针对hoge2.cpp的可执行文件声明。给你一个完整的参考示例:

# 指定CMake最低版本要求,根据你的实际使用环境调整版本号
cmake_minimum_required(VERSION 3.10)

# 项目名称,仅用于标识项目,不影响最终生成的可执行文件名
project(MyMultiExecProject)

# 生成第一个可执行文件hoge,关联对应的源文件hoge.cpp
add_executable(hoge hoge.cpp)

# 新增:生成第二个可执行文件hoge2,关联源文件hoge2.cpp
add_executable(hoge2 hoge2.cpp)

# 可选:如果需要统一设置编译标准(比如C++17),可以添加以下配置
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

2. 重新执行CMake(若之前已运行过cmake)

因为修改了CMakeLists.txt,需要重新让CMake生成更新后的Makefile:

# 回到项目根目录(如果是out-of-source构建就进入对应的build目录)
cmake .

3. 单独编译指定可执行文件

现在你就可以分别编译两个目标了:

  • 编译生成hoge:make hoge
  • 编译生成hoge2:make hoge2
  • 如果直接运行make或make all,会一次性生成两个可执行文件

额外小贴士

  • 如果两个可执行文件需要共享公共代码(比如通用头文件、工具函数),可以把公共部分打包成静态/动态库,再用target_link_libraries关联到两个可执行文件,这样能避免重复编译,提升效率。
  • 记得确保hoge2.cpp里有正确的main函数入口,不然编译会报错哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:48:04