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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

背景: 之前使用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://my.oschina.net/u/4000302/blog/3024336

你可能感兴趣的:(vs code 配置.json文件引入makefile文件实现多文件编译)