vscode cmake工程launch和task文件设置
1.launch.json文件基本设置
- {
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "gdb-debug",
- "type":"cppdbg",
- "request": "launch",
- "program": "${workspaceFolder}/build/${workspaceFolderBasename}",// 调试的程序全路径
- "args": ["app.conf"],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}/build",
- "preLaunchTask": "build", // 前置任务,前提是在 tasks.json 文件中定义了这个任务比如名为build的任务
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb", // 调试引擎
- "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
- }
- ]
- },
- {
- "name": "vs-debug",
- "type":"cppvsdbg",
- "request": "launch",
- "program": "${workspaceFolder}/build/${workspaceFolderBasename}",
- "args": ["app.conf"],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}/build",
- "preLaunchTask": "build",
- "environment": [],
- "externalConsole": false
- }
- ]
- }
2.task.json
- {
- // See https://go.microsoft.com/fwlink/?LinkId=733558
- // for the documentation about the tasks.json format
- "version": "2.0.0",
- "tasks": [
- {
- // 自定义任务1: 创建build目录(命令:`mkdir -p build`,windows系统是在powershell中执行命令`mkdir -Force build`)
- "label": "mkbuild",
- "group": "build",
- "command": "mkdir",
- "type": "shell",
- "args": [
- "-p",
- "build"
- ],
- "windows": {
- "options": {
- "shell": {
- "executable": "powershell.exe"
- }
- },
- "args": [
- "-Force",
- "build"
- ],
- }
- },
- {
- // 自定义任务2:cmake config
- "label": "cmake",
- "group": "build",
- "type": "shell",
- "command": "cmake",
- "args": [
- "-DCMAKE_BUILD_TYPE=${input:CMAKE_BUILD_TYPE}",
- "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
- ".."
- ],
- "options": {
- "cwd": "${workspaceFolder}/build",
- },
- "windows": {
- "args": [
- "-DCMAKE_BUILD_TYPE=${input:CMAKE_BUILD_TYPE}",
- "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
- "..",
- "-G",
- "\"NMake Makefiles\""
- ],
- "options": {
- "shell": {
- "executable": "D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat",
- "args": [
- "${input:PLATFORM}",
- "-vcvars_ver=${input:vcvars_ver}",
- "&&"
- ]
- }
- },
- },
- "dependsOn": [
- "mkbuild"
- ]
- },
- {
- // 自定义任务3:在build目录执行编译
- "label": "build",
- "group": "build",
- "type": "shell",
- "command": "cmake",
- "args": [
- "--build",
- "./",
- "--target",
- "all",
- "--"
- ],
- "options": {
- "cwd": "${workspaceFolder}/build",
- },
- "problemMatcher": "$gcc",
- "windows": {
- "options": {
- "shell": {
- "executable": "D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat",
- "args": [
- "${input:PLATFORM}",
- "-vcvars_ver=${input:vcvars_ver}",
- "&&"
- ]
- }
- },
- "problemMatcher": "$msCompile"
- },
- "dependsOn": [
- "cmake"
- ]
- },
- {
- // 自定义任务4:运行程序
- "label": "run",
- "type": "shell",
- "command": "./${workspaceFolderBasename}",
- "group": "build",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": false,
- "panel": "shared",
- "showReuseMessage": true,
- "clear": true
- },
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- "problemMatcher": "$gcc",
- "windows":{
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- // Use the standard MS compiler pattern to detect errors, warnings and infos
- "problemMatcher": "$msCompile"
- },
- "dependsOn":["build"]
- }
- ],
- // 输入参数
- "inputs": [
- {
- "id": "CMAKE_BUILD_TYPE",
- "type": "pickString",
- "description": "What CMAKE_BUILD_TYPE do you want to create?",
- "options": [
- "Debug",
- "Release",
- "RelWithDebInfo",
- "MinSizeRel",
- ],
- "default": "Debug"
- },
- {
- "id": "PLATFORM",
- "type": "pickString",
- "description": "What PLATFORM do you want to create?",
- "options": [
- "x86",
- "amd64",
- "arm",
- "x86_arm",
- "x86_amd64",
- "amd64_x86",
- "amd64_arm",
- ],
- "default": "amd64"
- },
- {
- "id": "vcvars_ver",
- "type": "pickString",
- "description": "What vcvars_ver do you want to create?",
- "options": [
- "14.2", // vs2019
- "14.1", // vs2017
- "14.0", // vs2015
- ],
- "default": "14.2"
- }
- ]
- }
vscode cmake工程launch和task文件设置的更多相关文章
- vscode, cmake编译多个C++文件
目的是利用vscode及相关插件编译多个C++文件. 我已经装好cmake和mingw并且将它们的路径添加到系统变量path中了. vscode装上如下几个插件: 点击vscode左上角 文件-& ...
- centos 7 vscode cmake 编译c++工程
一.环境说明 1)gcc/g++ cmake安装建议 gcc/g++内核自带的即可,如果需要新的自行安装, cmake也一样,如有需要新的版本自行安装. 2)vscode安装插件 必要的插件c/c+ ...
- win10下VSCode+CMake+Clang+GCC环境搭建
win10下VSCode+CMake+Clang+GCC环境搭建 win10下VSCode+CMake+Clang+GCC环境搭建 安装软件 VSCode插件安装 新建文件夹, 开始撸代码 main. ...
- ubuntu+VS code+launch.json+task.json
1.ubuntu->vs code . 通过官方PPA安装Ubuntu make sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make s ...
- windows10下vscode+cmake编译Qt5代码
概述 本文演示环境: windows10 cmake version:3.18 qt version: 5.14 vscode version: 1.54.1 本文演示环境基于在线模式, 离线使用VS ...
- windows10使用vscode+cmake编译c++代码
概述 本文将介绍 VScode + cmake 在 windows10上编译c++代码 前提: 我之前已经安装过VS2017, 故 编译将采用cl.exe. 开始之前 本文演示环境基于 windows ...
- 容器加載Web工程的Web.xml文件介紹
转 容器加載Web工程的Web.xml文件介紹 [-] 这篇文章主要是综合网上关于webxml的一些介绍希望对大家有所帮助也欢迎大家一起讨论 ---题记 一 Webxml详解 一 ...
- Cmake知识----编写CMakeLists.txt文件编译C/C++程序
1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...
- Cmake知识----编写CMakeLists.txt文件编译C/C++程序(转)
1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...
- eclipse中关联文件设置方法
在前几次的试验中,只是做了处于应用程序最上层的界面设计,其实还不知程序在运行过程中到底调用了哪些函数,这些函数是怎么实现的,由于搭建环境时没有进行文件关联,所以在环境中无法实现ctrl键+左击鼠标的方 ...
随机推荐
- Spring之后置处理器
Spring的后置处理器是Spring对外开发的重要扩展点,允许我们接入Bean的实例化流程中,以达到动态注册BeanDefinition.动态修改BeanDefinition.动态修改Bean的 ...
- 学习.NET MAUI Blazor(二)、MAUI是个啥
随着.NET 7的发布,MAUI也正式发布了.那么MAUI是个啥?我们先来看看官方解释: .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移 ...
- 总结开源项目中的常见坏实践(Bad Practice)
一些开源项目包含了各种编程的最佳实践供人参考学习和借鉴.但是也有一些开源项目虽然初衷是好的.但是包含了一些代码的坏实践.特别是对于一部分刚入行的大学生来说,可能会给到一些错误的示范.于是在此列举一些项 ...
- Python3套接字(socket)通讯(TCP)
最近写了一个工程,用作运维的,所以研究了一下Python的TCP通讯(服务器挂一个脚本,电脑挂一个脚本,就可以通过此通讯进行编码加密后传输取回想要的内容) 服务端: from socket impor ...
- JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板
大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 上一篇文章中,我们知晓了如何在项目中通 ...
- Atcoder Beginner Contest ABC 284 Ex Count Unlabeled Graphs 题解 (Polya定理)
题目链接 弱化版(其实完全一样) u1s1,洛谷上这题的第一个题解写得很不错,可以参考 直接边讲Polya定理边做这题 问题引入:n颗珠子组成的手串,每颗珠子有两种不同的颜色, 如果两个手串能够在旋转 ...
- python进阶之路11 闭包函数 装饰器
函数名的多种用法 函数名其实绑定的也是一块内存地址 只不过该地址里面存放的不是数据值而是一段代码 函数名加括号就会找到该代码并执行 1.可以当作变量名赋值 def index():pass res = ...
- 安装postcss-px-to-viewport 配置postcss.config.js 报错Error: true is not a PostCSS plugin
因项目需要,用户突然要坚持小屏幕也要观看大屏代码,临时解决方案是加了一个postcss-px-to-viewport ,安装过程中报错Error: true is not a PostCSS plug ...
- 1.5万字长文:从 C# 入门 Kafka
目录 1, 搭建 Kafka 环境 安装 docker-compose 单节点 Kafka 的部署 Kafka 集群的部署 2, Kafka 概念 基本概念 关于 Kafka 脚本工具 主题管理 使用 ...
- 【学习笔记】C/C++ 设计模式 - 模板模式
介绍说明 模板设计模式是一种非常简单的设计模式,其主要是利用了虚函数的特性实现.非常适合应用在一些算法.流程.业务逻辑是固定的形式,其中某些步骤的实现方式又无法确定下来的场景. 举例说明 以下为模拟某 ...