Advertisement

在windows环境下用vscode配置gcc编译代码

阅读量:

本来我之前很喜欢用visual stdudio写代码的, 这样在电脑上能够的代码,放到单片机上也是可以的.但是之前在使用linux中的list.h的时候, 在visual studio编译不过. 因此经过找网上的各种资源,最终整合了这篇文章

1.首先安装vscode.

2.安装mingw

以上网上有很多人讲关于这个环境的配置,照着做都能够成功

3.编写简单的makefile

可以看看B站李慧芹老师的视频第70个视频,关于makefile的编写, 有那点基础够目前用的了.但是要注意优点不同: 要将rm换位del, 目前我还不会分目录, 但是基本够用了, 我们如果需要添加xxx.c, 则在这个makfile文件里面添加xxx.o即可

复制代码
 OBJS=main.o bsp_led.o

    
 CC=gcc						
    
 CFLAGS+=-c -Wall -g				
    
  
    
 test:$(OBJS)			
    
 	$(CC) $^ -o $@		
    
 %.o:%.c					
    
 	$(CC)  $^ $(CFLAGS) -o $@	
    
  
    
 clean:
    
 	del *.o *.exe
    
    
    
    
    bash
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-17/cWSI09UgO6omdtaLPf8vquABn5Zz.png)

编译: mingw32-make

清理: mingw32-make clean

可执行文件:.\test.exe

调试的时候先别在程序里写while(1), 否则终端就卡着了,就只有删除终端, 然后重新打开新的终端了.当然也可以调试, 打断点.单步调试.

下面这个makefile就比较通用了, 可以完全不修改直接用于工程中了, 但是唯一不足的是所有的.c和.h还是在同一级目录.所有的.o和.exe文件都在obj文件夹下, 并且这个obj文件夹也是makefile自动生成的.

复制代码
 .PHONY: all clean

    
  
    
 MKDIR = mkdir
    
 RM = del
    
 RMFLAGS = /q
    
 CC = gcc
    
  
    
 DIR_OBJS = obj
    
 DIR_EXES = obj
    
 DIRS = $(DIR_OBJS) $(DIR_EXES)
    
 EXE = $(DIR_EXES)/test
    
 SRCS = $(wildcard *.c)
    
 OBJS = $(SRCS:.c=.o)
    
 OBJS := $(addprefix $(DIR_OBJS)/, $(OBJS))
    
  
    
 all: $(DIRS) $(EXE)
    
  
    
 $(DIRS):
    
 	$(MKDIR) $@
    
 $(EXE): $(OBJS)
    
 	$(CC) -o $@ $^
    
 $(DIR_OBJS)/%.o: %.c
    
 	$(CC) -o $@ -c $^
    
  
    
 clean:
    
 	$(RM) $(RMFLAGS) $(DIRS) $(DIR_EXES)
    
    
    
    
    cpp
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-17/6y8fDVujZUHR4iY7IQqlx5MAhOGC.png)

全部评论 (0)

还没有任何评论哟~