如何在Visual Studio的launch.vs.json中引用当前CMake构建类型?
在Visual Studio 2022的launch.vs.json中引用CMake构建类型的方法
注意:此问题与Visual Studio Code无关,也与launch.json无关,仅针对Visual Studio及其launch.vs.json文件。
在VS2022的launch.vs.json文件中自定义调试目标时,你尝试用${cmake.buildType}引用当前CMake构建类型,但该变量并非VS认可的有效变量,因此会报错Var:${cmake.buildType} failed evaluation。你的原配置如下:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "CMakeLists.txt", "projectTarget": "MyProgram.exe (app\\MyProgram\\MyProgram.exe)", "name": "MyProgram.exe (app\\MyProgram\\MyProgram.exe)", "environment": [ { "name": "PATH", "value": "D:\\my-dlls-for-build-type-${cmake.buildType}" } ] } ] }
解决方法
你可以使用以下两个官方支持的变量之一来获取当前CMake构建类型:
${buildType}:直接返回当前构建类型(如Debug、Release、RelWithDebInfo等)${cmake.configuration}:与${buildType}功能完全一致,同样对应当前CMake的构建配置
修改后的environment配置示例:
"environment": [ { "name": "PATH", "value": "D:\\my-dlls-for-build-type-${buildType}" } ]
补充说明
Visual Studio的launch.vs.json变量体系和VS Code的launch.json不同,必须使用VS自身定义的CMake相关变量,上述两个变量均可正常识别当前构建类型。
内容的提问来源于stack exchange,提问作者Arno
相关产品推荐
相关产品推荐

