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

如何配置CMake执行C++程序并传入根目录下的txt文件作为运行参数

CMake配置运行程序时自动传入txt文件参数的方法

你可以通过添加自定义构建目标的方式实现需求,以下是两种常用的配置方案:

方案1:添加专用运行目标

该方案适合日常开发使用,配置后可以通过make run或者cmake --build . --target run一键运行程序并传入参数,步骤如下:

  1. 首先确保你已经在CMakeLists.txt中定义了自己的可执行目标,示例:
# 替换为你自己的可执行目标名、源码文件路径
add_executable(executable src/your_code.cpp)
  1. 新增自定义run目标,配置运行命令和参数:
add_custom_target(run
    # 命令中替换为你实际的参数路径,${PROJECT_SOURCE_DIR}指代项目根目录(顶层CMakeLists.txt所在目录)
    COMMAND executable ${PROJECT_SOURCE_DIR}/src/"txt file"
    # 声明依赖,确保运行前会先编译最新的可执行文件
    DEPENDS executable
    # 运行工作目录设置为构建目录,和你手动执行命令的位置一致
    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
    COMMENT "Running executable with specified txt file"
)

配置完成后,执行make run(Makefile构建场景)或者对应构建系统的运行目标命令,就会自动执行你需要的带参数运行命令。

方案2:添加为CTest测试用例

如果你需要将程序运行纳入测试流程,可以用CTest实现:

# 开启测试功能
enable_testing()
add_test(
    NAME run_with_txt_param
    COMMAND executable ${PROJECT_SOURCE_DIR}/src/"txt file"
    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)

配置完成后执行ctest命令即可自动运行程序并传入参数,还可以扩展添加运行结果校验规则。

注意事项

  • 如果你的txt文件路径是相对于构建目录的,将路径中的${PROJECT_SOURCE_DIR}替换为对应相对路径即可
  • 带空格的文件名必须用引号包裹,和手动执行命令的规则一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:04