vs code 配置.json檔案引入makefile檔案實現多檔案編譯
背景: 之前使用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
版權宣告:本文為博主原創文章,轉載請