当前位置: 首页 > news >正文

Windows + VSCode + CMake 编译

一、前提(你已经满足)

  1. 你有CMakeLists.txt
  2. 你有main.cpp
  3. 你装了MinGW 或 MSVC
  4. 你装了CMake 命令(cmd 里输入cmake --version能看到版本)

可直接ctrl + shift + P 通过界面进行配置和编译,以下是命令行编译

二、最标准的 3 步编译命令(任何项目都通用)

第 1 步:创建 build 文件夹(存放编译中间文件)

mkdirbuildcdbuild

作用:把所有临时文件丢进 build,不污染源码,这是行业标准做法。


第 2 步:CMake 生成构建文件

如果你用MinGW(最常用)

cmake..-G"MinGW Makefiles"

如果你用MSVC

cmake..

(MSVC 不用指定生成器,cmake 会自动识别)


第 3 步:编译生成 exe

MinGW

mingw32-make

或者

make

MSVC

cmake--build.

三、编译成功后,运行程序

你的项目名.exe

比如你写的是:

add_executable(main main.cpp)

那就运行:

main.exe

四、总结

【MinGW 版本】

mkdirbuildcdbuild cmake..-G"MinGW Makefiles"mingw32-make main.exe

【MSVC 版本】

mkdirbuildcdbuild cmake..cmake--build.Debug/main.exe

五、超级重要说明

  1. ..意思是返回上一级目录(因为 CMakeLists.txt 在上一层)
  2. 所有命令都在 build 文件夹里执行
  3. 第一次执行需要cmake ..
    之后改代码只需要执行:
    make或者 cmake--build.

通过bat 脚本执行777

1. 新建文件build_run.bat放在项目根目录

🔹 MinGW 专用版
@echo off chcp 65001 >nul :: 清空旧构建缓存 rd /s /q build 2>nul mkdir build cd build :: 生成+编译 cmake .. -G "MinGW Makefiles" mingw32-make -j4 :: 运行 echo. echo ========== 程序输出 ========== main.exe pause
🔹 MSVC 专用版
@echo off chcp 65001 >nul rd /s /q build 2>nul mkdir build cd build cmake .. cmake --build . echo. echo ========== 程序输出 ========== Debug\main.exe pause

使用方式

  1. 保存后,双击build_run.bat
  2. 自动删旧缓存 → 重新 CMake → 编译 → 直接运行
  3. 自带chcp 65001,配合你 CMake 里的 UTF-8 配置,中文永久不乱码

四、日常开发最简操作

  1. 改完代码
  2. 要么:终端敲编译命令
  3. 要么:双击build_run.bat

五、补充:修改代码后快速重编(不用全删重建)

只改 cpp、不改 CMakeLists.txt 时,不用删 build,直接:

MinGW

cd build mingw32-make -j4

MSVC

cd build cmake --build .

速度极快,适合频繁调试。

整套打包模板,你直接新建项目复制就能用吗?

http://www.jsqmd.com/news/712665/

相关文章:

  • AI安全评估:从黑盒到白盒的深度实践
  • Avey-B架构:高效双向编码器的创新设计与应用
  • 基于MCP协议构建日本UX设计AI助手:从原理到实践
  • 全球化出行回暖,为什么要升级护照识别能力
  • 实战:如何提高网站排名?提升20%转化率的内部链接搭建公式
  • 终极指南:MAA明日方舟助手 - 一键解放双手的智能游戏伴侣
  • Avey-B架构:无注意力机制的高效双向编码器解析
  • 注意力机制在LLM推理中的核心作用与优化策略
  • YOLO12检测结果后处理:NMS阈值调整与多框融合策略
  • Qt:创建一套基于HSL颜色体系的颜色库
  • 2026年3月最新版:实测靠谱!AI率92%暴降至5%,10款降ai率工具含免费版 - 降AI实验室
  • 智能体框架开发指南:从ReAct模式到生产级Agentic应用构建
  • Windows Defender完全移除终极指南:一键禁用系统安全组件的完整解决方案
  • 2026年小程序商城哪个比较好用?
  • easy-excel fill+模板的情况下 如何合并单元格
  • 外链代发是否有效?独立站买外链必看这3个防坑细节
  • SpringBoot多模块依赖冲突排查与架构优化实战(避坑指南)
  • 走进涠洲岛环岛路,解锁火山海岸原生态风光
  • 气动阀环保的品牌有哪些好用的,无锡华通气动值得选吗 - 工业品牌热点
  • 刷到无数农村帮扶暖心瞬间,藏着最朴素的善意与坚守
  • 如何增加网站外链?实测月增500点击,附发件模板与耗时明细
  • LLM长时上下文管理的KV缓存优化与压缩策略
  • 【图像加密解密】XOR和置乱和Arnold变换图像加解密【含GUI Matlab源码 15385期】
  • 多语言大模型安全漏洞分析与防御实践
  • Speech Seaco Paraformer实战案例:如何用热词功能提升专业术语识别率
  • 常见问题解决 --- 装有系统的固态硬盘错误
  • mapbox popup(动态定位)查询属性方法
  • 2025开源AI智能体框架全景解析与应用指南
  • Docker Remote 未授权访问漏洞修复方法
  • 2026年小程序商城SaaS平台