ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Windows 下用 VS Code + CMake + MinGW 配 TaoToken 辅助的 C++ 开发环境

Windows 下用 VS Code + CMake + MinGW 配 TaoToken 辅助的 C++ 开发环境 1. Windows 下 C 环境为什么总在第一步卡住如果你在 Windows 上写 C大概率经历过这种场面装完 VS Code兴冲冲新建一个.cpp文件按下运行结果弹出一堆看不懂的报错或者干脆提示找不到g。这不是你操作有问题而是 Windows 天生就带着一套 Visual Studio 的编译工具链当你再装 MinGW 时两套工具会互相抢默认配置。CMake 又会在你没指定生成器的时候默认去生成 Visual Studio 工程于是make找不到、gcc找不到、路径里全是反斜杠一个 Hello World 能折腾一下午。这篇就按 Windows VS Code CMake MinGW 这条最稳的路线从零把环境搭起来。目标很明确一次跑通 Hello World并且能打断点调试。同时我会把 TaoToken 接进来用它统一的 Key 和 API 通道辅助写代码省得在多个模型平台之间来回切账号。适合刚接触 C、或者从 Linux 迁到 Windows 想重新配环境的人。整套流程我自己在 Win10/Win11 上都走过配置文件可以直接复制。2. 装 MinGW、CMake 和 VS Code 插件2.1 MinGW 的安装与 PATH 配置MinGW 提供 Windows 下的 gcc/g 和 mingw32-make。推荐用 MSYS2 里的 MinGW-w64或者直接下 WinLibs 的独立包解压即用。假设你解压到D:\software\mingw64那么bin目录就是D:\software\mingw64\bin。把这个bin目录加进系统环境变量 PATHWin 键搜「环境变量」→ 编辑系统环境变量 → 环境变量 → 在「系统变量」里找到 Path → 新建一行粘贴路径 → 一路确定。加完后必须重开一个终端否则新 PATH 不生效。验证一下gcc --version g --version mingw32-make --version三条都能打印版本号说明 MinGW 就位。注意 Windows 下 make 的名字是mingw32-make不是make这是后面命令行编译最容易踩的坑。2.2 CMake 安装去 CMake 官网下 Windows 的.msi安装包安装时勾选「Add CMake to the system PATH」。装完同样重开终端验证cmake --version2.3 VS Code 插件打开 VS Code在扩展市场装两个CMake语法高亮和 CMakeLists 支持和CMake Tools提供状态栏的工具包选择、生成、调试按钮。再装一个C/C扩展负责 IntelliSense 和调试器接入。这三个装完状态栏底部会出现 CMake 相关的按钮。3. 接入 TaoToken 统一 Key 与 API 通道环境搭好后写代码时我想有个顺手的 AI 辅助。TaoToken 的作用是把多个模型的调用收敛到一个 Key、一个 API 地址上你不用为每个模型单独配一套凭证。官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。先去控制台创建 Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 页面生成https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。拿到 Key 后如果你用的是支持自定义 API 的编码插件把 Base URL 填https://taotoken.net/apiKey 填进去即可。想先验证模型通不通可以直接在模型对话页试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。注意Key 属于敏感凭证不要硬编码进CMakeLists.txt或提交到 Git。建议放在本地环境变量或插件自己的配置里。如果你长期用命令行编码助手或 Agent 工作流可以看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。Claude Code 相关接入参考https://taotoken.net/claudecode?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 。4. 可复制的工程骨架与配置文件4.1 目录结构与 CMakeLists.txt新建一个文件夹HelloCMake里面放两个文件HelloCMake/ ├── CMakeLists.txt └── HelloCMake.cppCMakeLists.txt内容如下注意生成器和编译器不要写死在里面交给 VS Code 的工具包选择来处理否则容易和默认配置打架cmake_minimum_required(VERSION 3.20) project(HelloCMake) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(HelloCMake HelloCMake.cpp)HelloCMake.cpp#include iostream using namespace std; int main() { cout Hello CMake endl; return 0; }4.2 c_cpp_properties.json按CtrlShiftP输入C/C: Edit Configurations (JSON)生成.vscode/c_cpp_properties.json。关键是compilerPath指向你的 g.exeintelliSenseMode选 gcc-x64{ version: 4, configurations: [ { name: MinGW, includePath: [ ${workspaceFolder}/** ], defines: [], compilerPath: D:/software/mingw64/bin/g.exe, cStandard: c17, cppStandard: c17, intelliSenseMode: windows-gcc-x64 } ] }4.3 tasks.jsontasks.json负责把 CMake 的配置和构建串成任务。下面这份用cmake -G MinGW Makefiles显式指定生成器避免 CMake 默认去生成 Visual Studio 工程{ version: 2.0.0, tasks: [ { label: cmake configure, type: shell, command: cmake, args: [ -G, MinGW Makefiles, -S, ${workspaceFolder}, -B, ${workspaceFolder}/build ], problemMatcher: [] }, { label: cmake build, type: shell, command: cmake, args: [ --build, ${workspaceFolder}/build ], dependsOn: cmake configure, problemMatcher: [$gcc] } ] }4.4 launch.jsonlaunch.json负责断点调试。program指向 build 目录里生成的可执行文件miDebuggerPath指向 gdb.exe{ version: 0.2.0, configurations: [ { name: MinGW Debug, type: cppdbg, request: launch, program: ${workspaceFolder}/build/HelloCMake.exe, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: false, MIMode: gdb, miDebuggerPath: D:/software/mingw64/bin/gdb.exe, setupCommands: [ { description: Enable pretty-printing for gdb, text: -enable-pretty-printing, ignoreFailures: true } ], preLaunchTask: cmake build } ] }5. 编译、调试与验证结果5.1 用 CMake Tools 一键跑通装好 CMake Tools 后按CtrlShiftP执行CMake: Scan for Kits再执行CMake: Select a Kit选带 GCC 的那一项。如果第一次没弹出选择框再 scan 一遍即可。这一步等价于在命令行给 cmake 传了-G参数。然后点状态栏的「生成」按钮或者按F7。终端会输出类似[build] Build finished with exit code 0再点状态栏的「运行」按钮终端打印Hello CMake说明编译链路通了。5.2 命令行验证想确认命令行也能走通在项目根目录执行mkdir build cd build cmake -G MinGW Makefiles .. mingw32-make.exe注意三点生成器必须显式指定make 命令是mingw32-make.exeWindows 下命令连接用;而不是。跑完在build目录里能看到HelloCMake.exe双击或命令行运行都能输出结果。5.3 断点调试在HelloCMake.cpp的cout那一行左侧点一下打上红点。按F5VS Code 会先执行preLaunchTask也就是 cmake build然后启动 gdb。程序停在断点处左侧变量区能看到当前作用域按F10单步、F5继续。能停住、能继续调试环境就算配好了。6. 本篇常见报错排查报错一cmake默认生成 Visual Studio 工程。现象是 build 目录里出现.sln文件mingw32-make找不到 Makefile。原因就是没指定生成器。解决命令行加-G MinGW Makefiles或在 CMake Tools 里选对 Kit。报错二make不是内部或外部命令。Windows 下没有make要用mingw32-make.exe。如果你在 CMakeLists 里写死了set(CMAKE_GENERATOR ...)却没生效多半是被命令行参数覆盖了以命令行-G为准。报错三g找不到。九成是 PATH 没配好或者配完没重开终端。用where g确认路径where出来的第一条必须是你 MinGW 的 bin 目录。报错四调试时提示找不到 gdb。检查miDebuggerPath是否指向真实存在的gdb.exe路径用正斜杠/或双反斜杠\\单反斜杠会被当转义。报错五IntelliSense 报红但能编译。这是c_cpp_properties.json的compilerPath没指对改完保存按CtrlShiftP执行C/C: Reset IntelliSense Database刷新。报错六改了代码重新构建没变化。删掉 build 目录重新 configure或者执行CMake: Delete Cache and Reconfigure。7. 后续怎么用 TaoToken 提效环境跑通后日常写 C 时我会把 TaoToken 的模型对话页开着遇到模板报错、CMake 语法不确定、或者想让它解释一段 STL 代码直接贴进去问不用切来切去。模型对话入口https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。需要管理多个 Key 或看用量去控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。接入细节和参数说明都在文档里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。一个实用小技巧把build目录加进.gitignoreCMake 的缓存文件不要提交。另外c_cpp_properties.json里的compilerPath换成你自己的 MinGW 路径别直接抄我的D:/software/mingw64。这套配置我在两台机器上复用改的只有路径其余原样能跑。
返回列表