首页 > 其他分享 >VSCode配置多目录CMake项目

VSCode配置多目录CMake项目

时间:2024-01-16 17:22:49浏览次数:28  
标签:tasks cmake VSCode make args json CMake 目录

多目录CMake项目指一个workspace下有多个CMake项目,不需要使用CMakeTool插件

修改tasks.json,添加cmake,按照clean->cmake->make的顺序执行

tasks.json
 {
    "version": "2.0.0",
    "options": {
        "cwd": "${fileDirname}/build"
    },
    "tasks": [
        {
            "label": "clean",
            "type": "shell",
            "command": "rm",
            "args": [
                "-rf",
                "./*"
            ]
        },
        {
            "label": "cmake",
            "type": "shell",
            "command": "cmake",
            "args": [
                ".."
            ],
            "dependsOn": [
                "clean" //cmake 之前对build下进行清空
            ]
        },
        {
            "label": "make",
            "type": "shell",
            "command": "make",
            "args": [],
            "dependsOn": [
                "cmake" //make之前需要先进行cmake
            ]
        },
    ]
}

修改luanch.json,修改preLaunchTask以在调试器启动前完成cmake

luanch.json
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/build/${fileBasenameNoExtension}", //这里强制进入build目录下执行
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "make", //找到tasks.json的make任务
            "miDebuggerPath": "/usr/bin/gdb"
        },
    ]
}

 

标签:tasks,cmake,VSCode,make,args,json,CMake,目录
From: https://www.cnblogs.com/celestially98/p/17968107

相关文章

  • docker - 将几个目录复制到另一个目录
    您如何将多个目录复制到Docker中的目标目录?我不想复制目录内容,而是复制整个目录结构。COPY和ADD命令复制目录内容,展平结构,这是我不想要的。也就是说,如果这些是我的来源:.├──a│  ├──aaa.txt│  └──uuu.txt├──b│  ├──ooo.txt│  └──p......
  • 深入了解 ReadDirectoryChangesW 并应用其监控文件目录
    简介监视指定目录的更改,并将有关更改的信息打印到控制台,该功能的实现不仅可以在内核层,在应用层同样可以。程序中使用ReadDirectoryChangesW函数来监视目录中的更改,并使用FILE_NOTIFY_INFORMATION结构来获取有关更改的信息。ReadDirectoryChangesW是Windows提供一个函数......
  • vue在idea中的各级目录作用,工作流程
    vue工程目录作用预览:接下来进行我的一些理解记录:1.vue脚手架运行后,app.vue是所有页面的入口,会先进入到app.vue识别到router-linkto“”标签中router路由路径path,并且转到路由的路径下即src/router.2.根据app.vue中的路径对router中不同的path进行匹配,之后会获取到匹配......
  • maven项目关于target目录没有生成xml文件的解决方案
    1.这是我的项目目录结构2.在我通过maven的install后,target目录中并没有xml文件解决方案:1.在maven的pom文件中添加2.再通过maven的install后,target目录中出现xml文件......
  • Idea SpringBoot 子模块 加载不到该子模块根目录config下面的配置文件
    IdeaSpringBoot子模块加载不到该子模块根目录config下面的配置文件importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframew......
  • podman和vscode dev container的一些问题
    1.MacArm芯片上podmanmachine启动时卡在CurrentStarting起不来。参考这个链接的回答,更新Qemu的文件https://github.com/containers/podman/issues/21096#issuecomment-1872551224Ihavethesameissue,andalsotriedsomemethodsdiscussedin#21088(comment),none......
  • 13、nginx自动列出目录
    1,配置userroot;worker_processes4;events{useepoll;worker_connections1024;}http{server{listen80;server_name127.0.0.1;location/{#指定要展示的目录root/root/nginx......
  • Linux find命令删除N天或N小时前的文件或目录
    前言全局说明Linuxfind命令删除N天或N小时前的文件或目录一、模拟创建N天前的文件(夹)1.1生成不带0开头的文件名foriin{1..15};dot=$i;touch-d"2024-01-0$i00:00:00"$i.txt;done1.2生成0开头的文件名foriin{01..15};dot=$i;touch-d"2024-01-0$......
  • mysql 目录迁移注意事项
    修改vi/etc/my.cnfdatadir=/home/data/mysqlsocket=/home/data/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid 1、权限问题Jobformysqld.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemct......
  • vscode 批量离线安装插件
    vscode插件离线安装的方法背景因为在公司内网无法联网安装vscode插件,同时从官网下载visx安装失败,好像存在一个关联关系,于是就只能在外面买电脑提前安装好所有的插件,然后找到对应的目录,直接整个目录拷贝过来.方法先在可以联网的电脑上下载好插件找到已安装的插件列表......