---
tags: [CMake, AscendC, 编译构建]
doc_type: knowledge-index
aliases: [Ascend C的CMakeLists]
abstract: "理解 Ascend C 工程的 CMake 配置、语言与编译器、目标属性、生成器表达式及多级目录组织。"
finished: false
creation: 2026-10-15
返回目录: "[[计算机系/昇腾与CANN/大模型与算子专题学习导航|大模型与算子专题学习导航]]"
上一篇: "[[计算机系/昇腾与CANN/Ascend C算子基础整理|Ascend C算子基础整理]]"
下一篇: "[[计算机系/昇腾与CANN/Ascend C SIMD硬件内存与同步|Ascend C SIMD硬件内存与同步]]"
---

# CMake 与 Ascend C 编译入门

[异构计算基础与 CANN 架构整理](异构计算基础与CANN架构整理.md)解释硬件和软件栈，[Ascend C 算子基础整理](Ascend%20C算子基础整理.md)解释核函数代码。本篇解决接下来的问题：**如何描述工程，让构建工具把源代码编译成程序？**

## 推荐阅读顺序

1. [[计算机系/昇腾与CANN/01 CMake最小配置与编译选项|01 CMake最小配置与编译选项]]：理解最小工程、目标属性、编译选项和生成器表达式。
2. [[计算机系/昇腾与CANN/02 Ascend C源码组织与编译运行|02 Ascend C源码组织与编译运行]]：区分源码职责，完成终端或 Notebook 中的配置、编译和运行。
3. [[计算机系/昇腾与CANN/03 多级CMake工程与构建检查|03 多级CMake工程与构建检查]]：组织子目录与公共库，并检查完整工程的依赖和构建配置。

## 原文与查阅

原有正文按完整章节分入以上三篇，命令、示例、图示与解释保持在一起。章节编号沿用原文，方便对照。

[[计算机系/昇腾与CANN/拆分前完整备份|拆分前完整备份]]
