文档章节

vs code 配置.json文件引入makefile文件实现多文件编译

shzwork
 shzwork
发布于 03/19 09:27
字数 700
阅读 204
收藏 1

背景: 之前使用VS code写c++时,没使用到多文件,所以对launch.jason和task.jason配置没过多配置,但不支持多文件间的编译,调试。 
注:主要针对较大的一些工程,涉及多个文件的编译,使用到Makefile。如果一个头文件和cpp文件可以看其他教程 
平台:Ubuntu 16.04 LTS && VS Code 1.22

1. launch.json的配置
在官网查看帮助文档,介绍了python的json文件的配置,有些默认版本并不对应,不具备解决我的要求。所以查了一些其他资料,解决问题。至于json文件怎么出来,不介绍了。在欢迎界面有些使用教程和命令,先熟悉下这个再说。 

     {
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/dstar",    //这里因为我调试的是dstar算法,所以调试文件换成dstar
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "preLaunchTask": "build",               //重点,这个是模板没有的选项,须额外加入
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
        ]
    },
    { 
        "name": "(gdb) Attach",
        "type": "cppdbg",
        "request": "attach",
        "program": "${workspaceFolder}/build",            //这个改下
        "processId": "${command:pickProcess}",
        "MIMode": "gdb",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    },
]
}`
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2.tasks.json的配置
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "make",            //主要的就是这个,表示执行make命令(注,文件夹下需要Makefile文件)     
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }

    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


3. 关于问题 -make: Nothing to be done for ‘all’.
当你Ctrl+Shile+B进行编译时(再次强调欢迎界面的使用文档看下,熟悉一下),可能出现上述问题。这个是说已经编译过该项目,没有任何改动,不再麻烦编译器了。 
   测试:make clean 这时看到左上方文件列表中的dstar执行文件删除。再Ctrl+Shile+B 

编译成功,执行文件dstar重新出现。 
给个执行后的图像吧 

--------------------- 
作者:我吃龙虾 
来源:CSDN 
原文:https://blog.csdn.net/m0_37433067/article/details/80145679 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文转载自:https://blog.csdn.net/qq_34347375/article/details/82958488

shzwork
粉丝 11
博文 693
码字总数 10605
作品 0
厦门
私信 提问
cmake工具使用简明教程(基于命令行和gui,编译到windows和linux双平台)

引用 https://cmake.org/runningcmake/ https://cmake.org/cmake-tutorial/ http://www.hahack.com/codes/cmake/ http://www.cnblogs.com/cuiocean/p/5460419.html cmake可以用来构建跨平台的......

u012234115
2017/04/09
0
0
vscode基于Linux和Windows下c/c++的多文件编译与连接

有时写写小程序,又不想启动2013,vscode就成了我的首选。刚接触vscode的时候,跟着网上配置了一堆东西,总算能编译C/C++了,但一涉及到多文件,我还得乖乖的打开vs2013。前些天在配置Linux...

Simf
2017/11/14
0
0
快速在VSCode中创建多文件多目录C++项目

对于轻量级的VSCode编辑器,我想像使用那些IDE一样,通过简单的几步就能构建出自己的项目文件树,类似于下面的结构。所以特地写了一个脚本,用于自动创建一个基本的项目。 . ├── Headers ...

shzwork
03/19
106
0
Linux Make(Makefile)由浅入深的学习与示例剖析

经过长时间学习和研究linux GNU make工程管理器 ,现在把学习心得与大家分享一下,希望本文能教会您一些有用的东西。 make工具,是所有想在Linux/Unix系统上编程的用户都需要且必须掌握的工具...

长平狐
2013/01/06
3.2K
0
Project Perfect让Swift在服务器端跑起来-Perfect in Visual St

编者语 : 本系列文章已经被Perfect官方引用了,这种感觉很好,感恩!Thx all ! Visual Studio Code是一个轻量级的编辑器,但也功能丰富,通过插件你可以完成如Cordova,ReactNative,NodeJS,...

微笑的江豚
2016/06/02
17
0

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
24分钟前
2
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
27分钟前
2
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
45分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
59分钟前
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
681
11

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部