如何将控制台参数添加到cmakelist+vscode中



我一直在尝试添加控制台参数,例如"helloworld.txt";可作为int main(int argc,char*argv[](中的参数访问。

每次打印argc和argv时,我只有一个元素,main.exe的绝对目录。

我在launch.json中尝试了:args":[]和cmakelist.txt中作为add_definition,但它不起作用Cmakelist.txt配置

cmake_minimum_required(VERSION 3.0.0)
project(firstProject VERSION 0.1.0)
set (CMAKE_CXX_STANDARD 20)
include(CTest)
include_directories(headers)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
enable_testing()
add_executable(firstProject main.cpp ala.cpp "headers/ala.h")
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

Launch.json配置:

{
"configurations": [
//CMAKE ADDITIONAL CONFIGURATION
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
// Resolved by CMake Tools:
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "${workspaceFolder}",
"value": "$PATH:${command:cmake.launchTargetDirectory}"
}
],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "C/C++: g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\msys64\mingw64\bin\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
],
"version": "2.0.0"
}

我是否使用了错误的方法,或者我对cmake配置有一些问题?

感谢drescherjm的评论!

这足以添加:

"cmake.debugConfig": {
"args": [
"-first", 
"-second"
]
}

在settings.json 中

最新更新