首页
›
编程基础与工程化
›
017-CMake构建系统
›
《CMake交叉编译环境搭建实战》
VIP20
本课程属于:017-CMake构建系统
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CMake交叉编译环境搭建实战
📚 共计 30 章节
01
CMake概述
什么是CMake,为什么需要CMake,与传统Makefile对比
概念
入门
02
CMake安装
Linux (Ubuntu/CentOS) 和 Windows 安装,验证安装
环境
实操
03
CMake基础语法
CMakeLists.txt结构,cmake_minimum_required,project,add_executable,message
语法
核心
04
变量与缓存
变量定义/引用,set,缓存变量,环境变量
变量
缓存
05
条件判断与循环
if/elseif/else/endif,foreach,while,break,continue
逻辑
流程
06
函数与宏
function,macro,参数传递,返回值,作用域
函数
宏
07
生成器表达式
$<...>语法,条件编译,配置相关逻辑
表达式
编译
08
库的构建
add_library,STATIC/SHARED/MODULE,target_link_libraries
库
链接
09
头文件与路径
target_include_directories,include_directories,系统路径
头文件
路径
10
查找依赖包
find_package,FindXXX.cmake,Config/Module模式
依赖
查找
11
自定义查找模块
编写FindXXX.cmake,find_path,find_library,find_file
模块
自定义
12
子目录与项目组织
add_subdirectory,多模块项目,目录最佳实践
结构
组织
13
安装规则
install命令,安装目标/文件/目录,DESTDIR,CMAKE_INSTALL_PREFIX
安装
部署
14
测试支持
enable_testing,add_test,ctest,测试框架集成
测试
ctest
15
CPack打包
CPack概述,配置CPack,生成DEB/RPM/NSIS
打包
发布
16
交叉编译概念
什么是交叉编译,宿主机与目标机,工具链
概念
嵌入式
17
工具链文件
CMAKE_TOOLCHAIN_FILE,set(CMAKE_SYSTEM_NAME ...),set(CMAKE_C_COMPILER ...)
工具链
配置
18
常用交叉编译工具链
ARM GCC (arm-none-eabi-gcc),ARM Linux GCC,RISC-V GCC
工具链
架构
19
配置交叉编译环境
下载工具链,设置环境变量,编写工具链文件
环境
配置
20
交叉编译Hello World
编写CMakeLists.txt,指定工具链,编译与运行
实战
入门
21
交叉编译静态库与动态库
交叉编译环境下构建库,链接库
库
交叉编译
22
交叉编译中的系统检测
CMAKE_SYSTEM_PROCESSOR,CMAKE_SIZEOF_VOID_P,endianness检测
检测
系统
23
交叉编译与第三方库
find_package交叉编译第三方库,设置库搜索路径
第三方
依赖
24
Sysroot概念
什么是sysroot,设置CMAKE_SYSROOT,sysroot下的库与头文件
sysroot
根目录
25
交叉编译中的pkg-config
使用pkg-config查找交叉编译的库,PKG_CONFIG_PATH设置
pkg-config
查找
26
交叉编译调试
GDB交叉调试,gdbserver,设置调试符号
调试
GDB
27
性能优化
优化选项,-march/-mtune,LTO,链接时优化
优化
性能
28
CI/CD中的交叉编译
Docker容器化,GitLab CI / GitHub Actions配置
CI/CD
自动化
29
常见问题与排错
工具链不匹配,库找不到,链接错误,运行时错误
排错
FAQ
30
综合实战
从零搭建嵌入式Linux项目,多模块、第三方库、测试与打包
实战
项目
所属VIP或分类
同VIP:CMake-FetchContent依赖管理与模块化构建
同VIP:CMake-Presets工程配置与多环境构建实战
同VIP:CMakeLists.txt-完全解析