1 Star 1 Fork 0

知睿 / Linux_VSCode_json_make

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Linux VSCode 编译调试 多个C源文件的项目的 json 和 makefile 配置

前言

如果对单个源C文件的编译调试的 json 配置不熟悉, 请首先参考 单个文件的配置流程代码仓库 Linux_VSCode_json, 这也是本文的前提基础.
熟悉了单个文件的配置之后, 再延伸到 多个源文件的项目 的配置.

流程说明

frame

过程
编译 VSCode 根据 tasks.json 调用 make 命令, make 根据 makefile 编译源代码, 生成带调试信息的可执行文件
调试 VSCode 根据 launch.json 调用 gdb 调试可执行文件

三个配置文件

由以上的流程说明, 可以知道需要配置三个文件才能完成多源文件项目的编译和调试

文件名 作用
tasks.json 编译配置文件
launch.json 调试配置文件
makefile gcc 编译选项文件

项目目录

目录 说明
主目录
   |---makefile gcc 编译配置文件
   |---mydict 程序可执行文件
.vscode子目录
   |---task.json VSCode编译配置文件
   |---launch.json VSCode调试配置文件
src子目录
   |---mydict.c 程序主源文件
   |---dict.c 词典模块源文件
   |---dict.txt 词典条目列表文本文件
inc子目录
   |---dict.h 词典模块头文件
   |---inc.h 项目所需包含头文件

使用说明

步骤 说明
1. 下载 Gitee 下载本项目
2. 拷贝 ./vscode 目录(注意此为隐藏目录)和 makefile到自己项目的目录下
4. 修改配置 修改三个配置文件
5. 编译 ( 保持VSCode的焦点在makefile文件) 快捷键shift + Ctrl + b 或者菜单Terminal --> Run Build Task
6. 调试 快捷键 F5或者菜单Run --> Start Debugging

json文件源代码

task.json

{
    "tasks": [
        {
            "type": "cppbuild",

            
            "label": "gcc make mydict local",  // task 的名称
            "command": "make",              // 执行 make 命令
            "args": [],
            "options": {
                "cwd": "${fileDirname}"        // 执行路径为当前C文件所在路径
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        },
     ],
    "version": "2.0.0"
}

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch mydict",
            "type": "cppdbg",
            "request": "launch",

            // 待调试执行文件, 文件名称为当前打开C源文件去掉扩展名
            //"program": "${fileDirname}/${fileBasenameNoExtension}",  
            "program": "/home/linux/PuteCode/linux_vscode_json_make/project_dict/mydict",  
            "args": [],
            "stopAtEntry": true,
            "cwd": "${fileDirname}",
            "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
                }
            ]
        }

    ]
}

makefile

# 生成的可执行文件名
DEST=mydict

# 带路径的C源文件, 其中 mydict.c 为包含 main 函数的主文件
SRC=./src/mydict.c
SRC+=./src/dict.c

# 编译器
Comp_Rule=gcc

# 运行命令, 生成带调试信息的可执行文件( -o 选项 )
$(DEST):$(SRC)
	$(Comp_Rule) $(SRC) -o $(DEST)

.PHONY:
clear:
	rm $(DEST)

联系方式

邮箱 YuTao13910032004@163.com
微信公众号 Engineer_Excellence
Gitee代码仓库链接 Linux_VSCode_json_make

空文件

简介

Liunx VSCode 编译调试包含多个目录多个源文件和头文件的项目, 对于 json 和 makefile 的配置说明和源码 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yutao13910032004/linux_vscode_json_make.git
git@gitee.com:yutao13910032004/linux_vscode_json_make.git
yutao13910032004
linux_vscode_json_make
Linux_VSCode_json_make
master

搜索帮助