讲师中心 微信公众号
AI工具推荐 视频效率加速

CMake安装后怎么创建build目录?

云婷姑娘_5730

云婷姑娘_5730

发布时间:2026-08-10 19:11:04

|

805人浏览过

|

来源于php中文网

原创

必须手动创建build目录,因CMake强制要求源外构建(out-of-source build),避免CMakeCache.txt等生成文件污染源码目录、干扰Git和IDE,并确保路径解析正确;mkdir build && cd build是安全起点,缺一不可。

cmake安装后怎么创建build目录?

build 目录不是安装 CMake 后自动创建的,它必须由你手动建立,并且位置、命名、进入方式都直接影响后续命令能否正常执行。

为什么必须手动建 build 目录?

CMake 默认不做“源码内构建”(in-source build),这是硬性设计。如果你直接在源码根目录运行 cmake .,生成的 CMakeCache.txt、Makefile 或 .vcxproj 会混进源码里,污染 Git 提交、干扰 IDE 索引、甚至导致重复构建失败。所以官方流程强制要求“源外构建”(out-of-source build)——build 就是那个隔离出来的构建区。

mkdir build && cd build 是唯一安全起点

所有标准操作都基于这个两步动作,缺一不可:

C++14
C++14

C++14 对 C++11 的修正与增强版本,适合旧系统维护和较老工具链兼容。

下载
  • mkdir build:必须在项目根目录(即含 CMakeLists.txt 的目录)下执行,不能在子目录或任意路径建
  • cd build:后续所有 cmake 和 cmake --build 命令都必须在这个目录里运行,否则路径解析全错
  • 别用 cmake -B build 一步代替——它虽能建目录,但不会自动 cd 进去;而 cmake --build build 又要求你当前已在别的目录,极易混淆

常见错误:build 目录名写错或路径搞混

这些看似小问题,实际会导致 Could not find CMakeLists.txt 或 No such file or directory:

  • 把 build 写成 Build、BUILD 或 build_dir:CMake 不识别别名,cmake .. 会找不到上层 CMakeLists.txt
  • 在 src/ 或 include/ 目录里建 build:此时 cmake .. 指向的是 src/..,不是项目根目录
  • 用绝对路径建但没切进去:比如 mkdir /tmp/myproj-build && cmake -S . -B /tmp/myproj-build,之后必须 cd /tmp/myproj-build 才能 cmake --build .

build 目录删了重来最干净

它本质就是个临时工作区,不存任何关键逻辑:

  • 删掉整个 build 目录比 make clean 更彻底,尤其当你改过 CMakeLists.txt 或切换编译器时
  • 不要试图在 build 里手动删 CMakeCache.txt 单独清理——CMake 会缓存旧路径,残留状态常引发 Cannot open file 类错误
  • IDE(如 VS 或 Qt Creator)自动生成的 build 目录结构可能嵌套多层,只要顶层是空的,直接 rm -rf build 或 Shift+Delete 就行
build 目录本身没有 magic,但它承载了 CMake 对路径、缓存、生成器配置的所有依赖。哪怕只漏掉一个 cd build,后面所有命令都在无效上下文中执行——这点最容易被跳过,也最难排查。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
C++ 跨平台开发
C++ 跨平台开发

本专题聚焦 C++ 在跨平台应用与工程构建中的实战应用,系统讲解 CMake 构建系统、跨平台编译配置、第三方库集成、调试技巧、静态与动态链接库管理等核心知识。通过实战案例(如跨平台工具开发、Linux与Windows编译兼容性项目),帮助学习者掌握 从环境配置到完整跨平台构建的开发能力。

7086

2025.10.17

c++  cmake用法
c++ cmake用法

本专题整合了c++ cmake用法相关教程,阅读专题下面的文章了解更多详细内容。

1651

2025.10.23

C++ 编译构建系统与CMake实战
C++ 编译构建系统与CMake实战

本专题聚焦 C++ 项目的编译与构建体系,系统讲解 CMake 的核心语法、项目结构设计、库与依赖管理、跨平台构建、调试与发布配置。通过完整项目示例,帮助开发者掌握 从源码到可执行程序的工程化构建流程,提升 C++ 项目在实际开发中的可维护性与扩展性。

374

2025.12.13

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

20

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

40

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

120

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

80

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

80

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
LLVM CMake构建指南
LLVM CMake构建指南

共0课时 | 0人学习

LLVM入门手册
LLVM入门手册

共0课时 | 0人学习

CMake 与 Conan 集成实践
CMake 与 Conan 集成实践

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn