0%
Skip to content

C&C++ Win开发环境搭建--MinGW

  • vscode
  • mingw
  • cmake

vscode

安装相关插件即可,参考Linux那里

mingw

  • 包含了gccg++make

  • 下载地址

    安装后,注意将bin目录添加到环境变量

cmake

官网下载,直接安装即可

测试

单文件

右键Run Code即可

c
#include <stdio.h>

int main()
{
    printf("hello word\n");
    return 0;
}

多文件make

makefile如下

  • 命令行执行make即可生成
  • 执行make clean清除相关内容
makefile
# 编译器
CC := gcc

# 路径设置(固定值,推荐设为立即变量)
# 这里是相对于项目根目录的路径【不是相对于makefile】
MAIN_DIR := .
SRC_DIR := ./src
HEADER_DIR := ./header

# 目标可执行文件
TARGET := main.exe

# 自动生成源文件(所有.c)
# shell查找的路径是相当于makefile所在的路径
SRC := $(shell find $(SRC_DIR) -name "*.c")

# 使用模板替换生成目标文件(所有.o)
OBJ := $(SRC:.c=.o)

# 默认规则,该伪目标依赖TARGET
all: $(TARGET)

# 链接生成可执行文件(所有.o->exe)
$(TARGET): $(OBJ)
	$(CC) $^ -o $@

# 编译规则,生成 .o 文件并指定头文件目录,.O结尾的文件匹配次规则
%.o: %.c
	$(CC) -I$(HEADER_DIR) -c $< -o $@

# 清理规则,删除所有生成的文件
clean:
	rm -f $(OBJ) $(TARGET)

多文件CMake

这里使用插件运行,不用命令行

CMakeLists.txt

cmake
cmake_minimum_required(VERSION 3.10)

# 设置项目名称
project(MyProject C)

# 设置 C 标准
set(CMAKE_C_STANDARD 99)

# 添加头文件路径
include_directories(${CMAKE_SOURCE_DIR}/header)

# 添加源文件路径
file(GLOB SRC_FILES "${CMAKE_SOURCE_DIR}/src/*.c")

# 生成可执行文件
add_executable(my_project ${SRC_FILES})

CMakePresets.json

json
{
    "version": 8,
    "configurePresets": [
        {
            "name": "MinGW",
            "displayName": "MinGW Build",
            "description": "使用MinGW编译器 (gcc/g++) 生成调试版本",
            "binaryDir": "${sourceDir}/build", 
            "generator": "MinGW Makefiles", 
            "cacheVariables": {
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/install",
                "CMAKE_C_COMPILER": "D:/mysoft/w64devkit/bin/gcc.exe",
                "CMAKE_CXX_COMPILER": "D:/mysoft/w64devkit/bin/g++.exe",
                "CMAKE_BUILD_TYPE": "Debug",
                "CMAKE_MAKE_PROGRAM": "D:/mysoft/w64devkit/bin/mingw32-make.exe" 
            }
        }
    ]
}

点击底部的插件按键编译和运行