直接在 Visual Studio 中调试 CMake 项目时如何确保应用命令行参数?

问题描述 投票:0回答:1
#CMakeLists.txt
cmake_minimum_required(VERSION 3.13 FATAL_ERROR)

project(ArgExample)

add_executable (ArgExample main.cpp)
set_target_properties(ArgExample PROPERTIES VS_DEBUGGER_COMMAND_ARGUMENTS "arg1")
//main.cpp
#include <iostream>

int main(int argc, char* argv[])
{
    std::cout << "Arg example\n\n" << std::endl;

    for (int i = 1; i < argc; i++) {
        std::cout << "Argument " << i << ": " << argv[i] << std::endl;
    }
    
    return 0;
}

我已经设置了我的项目,如上面的代码所示。创建 .sln 文件并在 Visual Studio 中打开解决方案后,我确认一切都按预期工作,产生了正确的结果。

结果 (.sln)

但是,当我直接在 Visual Studio 中打开 CMakeLists.txt 文件而不是使用解决方案文件来启动 CMake 项目并开始调试时,不会应用参数。

结果(CMakeLists.txt)

即使我直接在 Visual Studio 中使用 CMakeLists.txt 文件,我也希望应用这些参数。任何有关如何实现这一目标的建议将不胜感激。

visual-studio visual-c++ cmake
1个回答
0
投票

请参阅自定义调试器设置

右键cmakelists.txt -> 添加调试配置

在 launch.vs.json 中添加 "args": [ "arg1" ]

© www.soinside.com 2019 - 2024. All rights reserved.