Windows10 + vscode + msys2 + makefile +gdb 安装总结

vscode 和 sourceinsight 比,各有优点。

vscode 可以安装各种插件方便使用。

  • 1. 安装vscode

  • 2. 安装 msys2,安装 gcc 和 gdb工具。

            https://blog.csdn.net/Jasper_Li_/article/details/87734482

           记得 把 D:\Program Files\msys2\usr\bin 加到 Window 10 的 系统环境变量 path 中。

           启动 cmd ,执行 gcc -v  , make -v , gdb   检查下载和安装环境等是否有输出。

  • 3. 配置vscode + msys2

           https://blog.csdn.net/qq_31841025/article/details/88567787

  • 4. gdb创建代码软链接

        gdb 调试时,报找不到文件错误,

         Unable to open : Unable to read file (Error: File not found

        是环境路径的问题,我把 msys2 安装到了D盘,则msys2默认的根目录是 d盘,代码在e盘。

        需要一个映射

        mklink /D d:\e e: 

        把行命令放到一个 扩展名为 reg的文件中,右键管理员权限运行,即可吧\d:\e\ 链接到e盘。

      

       可以执行gdb 调试的 配置文件,和Makefile,把makfe放到源代码目录下,即可使用。

    settings.json

{
    "workbench.colorTheme": "Visual Studio Dark",
    "C_Cpp.updateChannel": "Insiders",
    "C_Cpp.default.compilerPath": "D:/Program Files/msys2/mingw64/include",
    "C_Cpp.default.intelliSenseMode": "gcc-x64",
    "terminal.integrated.shell.windows": "D:/Program Files/msys2/usr/bin/bash.exe", 
    "terminal.integrated.env.windows": { "CHERE_INVOKING":"1" },//导入bash环境,重要
    "terminal.integrated.shellArgs.windows": [ "--login" ]  //导入bash环境,重要
}


   task.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "make",
            "type": "shell",
            "command": "make",  // 先用cmd 运行 make -v, 表示支持make命令
            "group":  {
                "kind": "build",
                "isDefault": true
            },
            
            "presentation": {
                "reveal": "always",
                "echo": false,
                "focus": true
            },
        }
    ]
}

 

launch.json

 

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/Demo.exe", //此目录下有makefile文件
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode" : "gdb",
            "preLaunchTask": "make",
            "miDebuggerPath": "D:/Program Files/msys2/usr/bin/gdb.exe",//msys2 gdb.exe 目录
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        }
    ]
}
    

   这个Makefile 比较通用。

   修改输出的目标文件为 Demo,可以改成其他名字。

BIN_OBJECT = Demo

CFLAGS += -I./A -I./B -I`pwd` -Wall -g -O2 -D __PLATFORM_LINUX -D _DEBUG
#LDFLAGS = -L ./ -lalgorithm,如果有库加,CFLAGS -g 才能调试

 

CFLALG 编译命令,LDFLAGS 链接命令:

-I  ./A  表示 Makefile 同级目录下 A 文件夹 头文件路径,可以改。

-g 表示有符号表,发布程序时关闭。

-D _DEBUG  类似在所有c文件中加了 #define _DEBUG

 -L ./ -lalgorithm 有个库文件,libalgorithm.a 或 libalgorithm.so

以上根据情况修改。

Makefile

DIRS := $(shell find . -maxdepth 3 -type d) #最大3层目录
SRC = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.c))   #wildcard 搜索同级目录C文件
DIR = $(notdir $(SRC))
OBJS = $(patsubst %.c, %.o, $(SRC))   #

CFLAGS += -I./A -I./B -I`pwd` -Wall -g -O2 -D __PLATFORM_LINUX -D _DEBUG
#LDFLAGS = -L ./ -lalgorithm,如果有库加,CFLAGS -g 才能调试

BIN_OBJECT = Demo

.PHONY:all
	ls -l

all:$(BIN_OBJECT)
	
$(BIN_OBJECT):$(OBJS)
	$(CC) -g -o $@ $^ $(LDFLAGS)
	
%.o:%.c
	$(CC) $(CFLAGS) -o $@ -c $< 
	
#$(SRC:.c=.o): *.h
#	@echo $(SRC)
#	@echo $(DIR)
#	@echo $(OBJS)
#	@echo "Done!!!!!!"
    
clean:
	-rm -rf $(LOG) *.o */*.o

 

以上准备OK, 按 F5 即可进入gdp 调试

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值