Windows10下已装MinGW如何在VSCode中配置Win32与DirectX开发环境
前置有效性校验
先排查最容易踩的基础问题,避免后面配置半天发现环境本身缺组件:
- 打开系统终端,执行
gcc --version,确认输出的版本信息对应你自己安装的MinGW路径,没有调用到系统其他位置的编译工具 - 检查MinGW安装目录下的头文件与库完整性:
- include路径下需存在
windows.h、winuser.h等Win32核心头文件 - lib路径下需存在
libuser32.a、libgdi32.a等Win32系统库,以及libd3d11.a、libdxgi.a等DirectX核心库 - 如果缺少对应文件,直接通过MinGW自带的包管理工具补装win32api、directx相关组件即可,不需要重装整个环境
- include路径下需存在
VS Code 基础插件配置
所有插件优先装官方版本,避开第三方维护的同类插件,减少兼容性问题:
- 安装微软官方的C/C++ Extension Pack,自动搭载语法高亮、IntelliSense、断点调试、代码跳转的全套支持
- 可选安装Code Runner,写完代码可快速一键编译验证;装完记得在插件设置里打开“在集成终端运行”开关,不然程序输出会被秒吞看不到内容
Win32桌面应用开发链路配置
整个配置全程在VS Code本地完成,不需要跳转外部站点
IntelliSense 配置(解决代码飘红、函数跳转失效问题)
- 按
Ctrl+Shift+P调出命令面板,选择C/C++: Edit Configurations (UI)打开可视化配置页 - 编译器路径选中你MinGW目录下的
gcc.exe全路径,比如D:/mingw64/bin/gcc.exe - IntelliSense模式选择
windows-gcc-x64,匹配64位MinGW的编译规则 - 预定义宏里追加
WIN32_LEAN_AND_MEAN,减少Windows头文件的冗余加载,降低编译时的内存占用
编译任务配置(实现快捷键一键编译)
- 按
Ctrl+Shift+P调出命令面板,选择Tasks: Configure Task,选“使用模板创建tasks.json”,选“Others”模板生成基础配置 - 把配置里的编译命令替换为适配Win32 GUI程序的参数:
参数说明:g++ -g ${file} -o ${fileDirname}\\${fileBasenameNoExtension}.exe -mwindows -luser32 -lgdi32 -lshell32-g是生成带调试符号的可执行文件,-mwindows指定生成GUI子系统程序,不会弹出多余的黑色控制台窗口,后面的-l参数是链接Win32开发常用的系统库
调试配置(实现F5断点调试)
- 按
Ctrl+Shift+D调出调试面板,选择“创建launch.json”,选C/C++: (GDB) 启动模板 - 程序路径填
${fileDirname}\\${fileBasenameNoExtension}.exe,和编译任务的输出路径保持一致 - 调试器路径选中你MinGW目录下的
gdb.exe全路径 - 配置项里把
externalConsole设为false,GUI程序调试不需要额外弹出控制台窗口
DirectX 图形程序适配
在已经搭好的Win32开发链路基础上,只需要补几个适配点就能直接开展开发:
- 确认MinGW的lib目录下存在
libd3d11.a、libdxgi.a、libd3dcompiler.a三个核心DirectX 11链接库,缺的话用MinGW包管理工具补装 - 把编译任务里的链接参数追加DirectX对应的库,最终编译命令模板:
g++ -g ${file} -o ${fileDirname}\\${fileBasenameNoExtension}.exe -mwindows -luser32 -lgdi32 -ld3d11 -ldxgi -ld3dcompiler - 验证方式:写一段最小化的D3D11设备初始化代码,执行编译任务能正常生成exe,F5调试能下断点命中,就说明整个环境跑通了,后续写渲染逻辑不需要再调整基础配置
内容的提问来源于stack exchange,提问作者IlJin Lee
相关产品推荐
相关产品推荐

