人工精选夏曹俊-CMake构建大型 c++项目
避坑指南:CMake 如何搞定大型 C++ 项目的构建与移植 很多后端开发在接手开源 C++ 项目或转行时,最头疼的不是代码逻辑,而是构建环境的不兼容。手动维护多套 Makefile 不仅工作量巨大,且极易出错。本课程由资深工程师夏曹俊主讲,专门针对 C++ 大型项目,系统讲解如何仅通过编写一份 C
会员可免费下载本篇月会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
避坑指南:CMake 如何搞定大型 C++ 项目的构建与移植
很多后端开发在接手开源 C++ 项目或转行时,最头疼的不是代码逻辑,而是构建环境的不兼容。手动维护多套 Makefile 不仅工作量巨大,且极易出错。本课程由资深工程师夏曹俊主讲,专门针对 C++ 大型项目,系统讲解如何仅通过编写一份 CMakeLists.txt 文件,即可实现在 Windows、Linux 等不同操作系统下统一编译。学完这套内容,你将不再需要向队友索要编译脚本,能够独立搭建多平台构建环境,解决“在我这能跑,在你那报错”的常见协作难题,这是成为合格 C++ 工程开发者的核心能力。
循序渐进:从变量管理到跨平台配置实战
课程内容的编排遵循“由浅入深、先逻辑后实战”的原则,非常适合作为系统性学习路径。初学者建议优先从第 2 章开始,重点掌握 CMake 的变量设置(set)、自动导入头文件(include)以及日志输出(message)。这几节是理解后续复杂配置的基石,只有懂了如何传递参数和查看编译日志,后续步骤才不茫然。随后进入第 4 章,深入学习条件表达式和逻辑判断,这是实现“根据系统类型自动选择不同配置”的关键,必须亲手敲一遍代码并观察生成的指令,否则很难理解其自动化逻辑。资料包中的练习环节应配合视频同步进行,遇到报错时先对照视频中的调试技巧,而不是盲目猜测。
工程化进阶:测试自动化与跨平台细节把控
课程后半段直指大型项目的工程化痛点,涵盖依赖管理和跨平台编译细节,这是区分初级与高级开发的关键。第 5 章详细拆解了跨平台编译的核心配置,包括如何区分 Debug 和 Release 模式、动态库的生成规则,以及如何针对 VS 和 Linux 编译器分别设置调试符号输出。这部分内容直接对应实际工作中配置混乱的痛点,务必逐字研读并复现,确保理解不同平台下可执行文件与调试符号的生成差异。最后,第 8 章引入了 GoogleTest 单元测试框架,演示了如何自动下载依赖并配置测试运行。学习此部分时,重点应放在理解测试框架的集成方式以及如何通过测试验证代码健壮性上。学完整个课程,你不仅能编写构建脚本,还能独立完成测试环境的搭建与维护,极大提升在团队开发中的协作效率与代码质量把控能力。
课程目录
第8章 cmake单元测试7 集
- 8-6 googletest完整单元测试TEST_F【整理不易‖记得关注:CunWorkNotes】.mp4 [23.8 MB]
- 8-1 第八章介绍.mp4 [14.4 MB]
- 8-3 使用CMake的Fetch自动下载编译googlete【资源精选‖更多关注:CunWorkNotes】.mp4 [27.8 MB]
- 8-4 建立第一个cmake调用googletest的示例.mp4 [31.4 MB]
- 8-7 解决googletest在vs上运行时库不一致问题.mp4 [34.0 MB]
- 8-2 cmake_ctest单元测试分析和测试示例【不易整理‖请关注:CunWorkNotes】.mp4 [38.4 MB]
- 8-5 cmake解压编译安装gtest并测试.mp4 [82.3 MB]
第4章 cmake生成表达式和文件操作6 集
- 4-4 cmake生成表达式的两种调试方法(重要)【不易整理‖请关注:CunWorkNotes】.mp4 [30.7 MB]
- 4-5 cmake字符串比较表达式和条件表达式.mp4 [26.9 MB]
- 4-1 第四章介绍【整理不易‖记得关注:CunWorkNotes】.mp4 [9.8 MB]
- 4-3 cmake条件表达式和逻辑表达式示例.mp4 [27.3 MB]
- 4-6 cmakes生成表达式目标相关查询.mp4 [28.6 MB]
- 4-2 cmake 生成表达式讲解和应用场景分析.mp4 [26.4 MB]
第2章 CMake常用功能15 集
- 2-9 cmake include分析和示例.mp4 [24.2 MB]
- 2-14 CMake设置输出路径跨平台演示分析【资源精选‖更多关注:CunWorkNotes】.mp4 [66.6 MB]
- 2-1 第二章介绍【资源精选‖更多关注:CunWorkNotes】.mp4 [22.1 MB]
- 2-6 cmake set变量入门和示例.mp4 [24.9 MB]
- 2-5 cmake message 模块查找日志和显示缩进【更多精选‖公众号:CunWorkNotes 获取】.mp4 [25.5 MB]
- 2-13 cmake调试打印生成的具体指令.mp4 [40.5 MB]
- 2-7 cmake 变量示例设置message消息颜色.mp4 [25.8 MB]
- 2-11 CMake file自动导入头文件到项目【更多精选‖公众号:CunWorkNotes 获取】.mp4 [14.0 MB]
- 2-10 cmake自动载入项目源码文件.mp4 [43.3 MB]
- 2-4 cmake message日志级别代码演示和重定到文件.mp4 [42.1 MB]
- 2-15 cmake add_subdirectory【不易整理‖请关注:CunWorkNotes】.mp4 [20.2 MB]
- 2-12 CMake分步编译和清理指定target目标.mp4 [54.8 MB]
- 2-8 cmake自带的四种变量和给c++传递变量演示【不易整理‖请关注:CunWorkNotes】.mp4 [56.9 MB]
- 2-3 cmake message高级使用-指定日志级别.mp4 [16.4 MB]
- 2-2 cmake注释和message基础.mp4 [21.5 MB]
第5章 CMake跨平台c++编译特性设置16 集
- 5-13 cmake_vs_pdb文件输出配置.mp4 [26.5 MB]
- 5-9 cmake_debug_release配置说明【更多精选‖公众号:CunWorkNotes 获取】.mp4 [24.9 MB]
- 5-2 target_include_directories包含.mp4 [20.4 MB]
- 5-12 cmake动态库跨平台Debug和Release不同输出【不易整理‖请关注:CunWorkNotes】.mp4 [75.5 MB]
- 5-5 target_compile_definitions演示【资源精选‖更多关注:CunWorkNotes】.mp4 [30.8 MB]
- 5-10 cmake linux下配置Debug和Release【更多精选‖公众号:CunWorkNotes 获取】.mp4 [33.6 MB]
- 5-6 target_compile_features.mp4 [53.8 MB]
- 5-14 vs的debug和release设置不同的调试工作路径【优质资源‖关注:CunWorkNotes 解锁】.mp4 [17.3 MB]
- 5-7 cmake编译和链接OBJECT文件.mp4 [59.9 MB]
- 5-8 cmake动态库的生成版本号符号链接.mp4 [27.5 MB]
- 5-15 CMake VS设置运行时库MD_MTD.mp4 [44.1 MB]
- 5-4 target_link_libraries和属性的原生调.mp4 [42.5 MB]
- 5-16 vs的souce_group代码分组显示.mp4 [22.8 MB]
- 5-1 第五章介绍.mp4 [13.7 MB]
- 5-3 PUBLIC_INTERFACE依赖传递头文件引用路径【更多精选‖公众号:CunWorkNotes 获取】.mp4 [47.2 MB]
- 5-11 cmake windows下配置Debug和Releas.mp4 [19.8 MB]
第3章 CMake主要语法32 集
- 3-15 cmake文件属性和给c++传递预处理变量示例.mp4 [36.7 MB]
- 3-24 cmake list子数组和查找删除插入修改【资源精选‖更多关注:CunWorkNotes】.mp4 [28.1 MB]
- 3-14 cmake define_property属性说明设置和.mp4 [30.6 MB]
- 3-12 cmake 属性说明set_property.mp4 [17.2 MB]
- 3-8 cmake-gui与CACHE缓存变量的各种类型.mp4 [25.8 MB]
- 3-23 cmake list追加、读取和拼接.mp4 [26.9 MB]
- 3-16 cmake目标属性设置给c++传递多个宏.mp4 [36.1 MB]
- 3-1 第三章介绍【整理不易‖记得关注:CunWorkNotes】.mp4 [15.8 MB]
- 3-30 cmake macro参数传递.mp4 [27.1 MB]
- 3-31 cmake_parse_arguments宏传递属性类.mp4 [36.2 MB]
- 3-3 cmake if 变量和字符串判断代码演示.mp4 [20.4 MB]
- 3-17 cmake属性调试cmake_print_propert.mp4 [16.2 MB]
- 3-13 cmake全局属性和APPEND_STRING get_【资源精选‖更多关注:CunWorkNotes】.mp4 [29.5 MB]
- 3-6 cmake cache缓存变量设置.mp4 [30.5 MB]
- 3-28 cmake while循环【不易整理‖请关注:CunWorkNotes】.mp4 [12.0 MB]
- 3-19 cmake math数学计算【不易整理‖请关注:CunWorkNotes】.mp4 [13.8 MB]
- 3-18 cmake env环境变量实战.mp4 [34.9 MB]
- 3-2 cmake if语法说明与常量判断代码演示【优质资源‖关注:CunWorkNotes 解锁】.mp4 [39.7 MB]
- 3-29 cmake macro宏原理接口分析【不易整理‖请关注:CunWorkNotes】.mp4 [13.2 MB]
- 3-33 cmake函数和变量的作用域演示.mp4 [26.2 MB]
- 3-7 cmake普通变量和全局CACHE变量作用域测试.mp4 [28.8 MB]
- 3-26 cmake foreach遍历RANGE.mp4 [23.2 MB]
- 3-5 cmake if一元、二元比较和正则匹配【资源精选‖更多关注:CunWorkNotes】.mp4 [41.7 MB]
- 3-22 cmake string json增删改【资源精选‖更多关注:CunWorkNotes】.mp4 [55.8 MB]
- 3-4 cmake if逻辑运算符.mp4 [16.0 MB]
- 3-20 cmake string查找和字串相关处理【更多精选‖公众号:CunWorkNotes 获取】.mp4 [50.4 MB]
- 3-27 cmake foreach遍历list和break()【资源精选‖更多关注:CunWorkNotes】.mp4 [39.3 MB]
- 3-10 CACHE覆盖策略设置cmake_policy.mp4 [20.0 MB]
- 3-11 cmake命令 传递缓存变量.mp4 [18.2 MB]
- 3-32 cmake function函数演示.mp4 [23.0 MB]
- 3-25 cmake list双向队列操作和排序.mp4 [22.2 MB]
- 3-9 ccmake用户修改配置和option.mp4 [14.4 MB]
第7章 CMake 交叉编译7 集
- 7-7 cmake编译鸿蒙Hap应用的c++库.mp4 [54.7 MB]
- 7-2 cmake 交叉编译分析和测试代码准备.mp4 [36.5 MB]
- 7-6 创建并分析鸿蒙ets的c++native项目.mp4 [25.4 MB]
- 7-4 cmake交叉使用NDK交叉编译安卓静态库.mp4 [47.0 MB]
- 7-1 第七章介绍.mp4 [15.4 MB]
- 7-3 cmake交叉编译linux arm开发板程序.mp4 [27.1 MB]
- 7-5 导入cmake编译的库到安卓项目并支持多ABI.mp4 [45.3 MB]
第1章 CMake快速入门篇20 集
- 1-8 cmake windows安装二进制版本.mp4 [13.0 MB]
- 1-17 cmake静态库xlog跨平台编译windows、lin【资源精选‖更多关注:CunWorkNotes】.mp4 [22.9 MB]
- 1-7 cmake源码linux_ubuntu_编译安装.mp4 [47.1 MB]
- 1-20 cmake动态库windows和mac测试.mp4 [39.4 MB]
- 1-5 为什么用cmake及它的特性【资源精选‖更多关注:CunWorkNotes】.mp4 [8.7 MB]
- 1-3 cmake是什么为什么要好的构建工具【更多精选‖公众号:CunWorkNotes 获取】.mp4 [11.4 MB]
- 1-10 macos_cmake安装源码编译.mp4 [29.6 MB]
- 1-2 第一章介绍.mp4 [20.3 MB]
- 1-15 编译cmake库的前置准备和静态库的实战原理分析.mp4 [14.7 MB]
- 1-12 windows下用vs2022编译第一个cmakelis.mp4 [23.7 MB]
- 1-1 cmake课程介绍.mp4 [85.6 MB]
- 1-13 windwos下用cmake生成nmake的项目并编译.mp4 [18.4 MB]
- 1-18 cmake 链接静态库.mp4 [51.6 MB]
- 1-16 动态库原理和头文件作用.mp4 [14.1 MB]
- 1-9 windows下使用cmake编译cmake源码并安装【不易整理‖请关注:CunWorkNotes】.mp4 [44.6 MB]
- 1-19 cmake 动态库编译和链接linux【资源精选‖更多关注:CunWorkNotes】.mp4 [38.0 MB]
- 1-6 cmake工作原理图解分析【整理不易‖记得关注:CunWorkNotes】.mp4 [7.8 MB]
- 1-11 fist_cmake第一个CMakeLists.txt示例.mp4 [17.7 MB]
- 1-4 什么是持续集成.mp4 [9.3 MB]
- 1-14 linux和macos下编译第一个cmake c++项目.mp4 [25.3 MB]
第9章 CMake实战开源项目xcpp12 集
- 9-3 xlog库项目配置项目源码头文件和静态库宏传递.mp4 [63.7 MB]
- 9-12 完成xlog和xthread_pool单元测试【更多精选‖公众号:CunWorkNotes 获取】.mp4 [132.6 MB]
- 9-10 xthread_pool库和样例加入项目配置.mp4 [19.8 MB]
- 9-11 cmake同时编译四个项目并添加依赖关系.mp4 [54.1 MB]
- 9-5 xlog的install配置并支持find_packa【优质资源‖关注:CunWorkNotes 解锁】.mp4 [63.3 MB]
- 9-9 配置test_xlog可配置在vs上读取xlog静态库.mp4 [98.0 MB]
- 9-4 配置xlog输出路径设置Debug Release输出.mp4 [55.3 MB]
- 9-2 CMake实战开源项目cmake配置需求分析.mp4 [32.9 MB]
- 9-7 重构xlog的cmake完成cpp_libaray函数.mp4 [119.4 MB]
- 9-6 xlog生成c++代码并支持用户配置动态库【优质资源‖关注:CunWorkNotes 解锁】.mp4 [53.0 MB]
- 9-8 配置test_xlog项目完成linux上测试【优质资源‖关注:CunWorkNotes 解锁】.mp4 [94.1 MB]
- 9-1 第九章介绍.mp4 [8.3 MB]
第10章 CMake补充章节6 集
- 10-3qt程序执行的依赖库自动复制.mp4 [153.1 MB]
- 10-1cmake构建vs_qt项目示例程序完成.mp4 [382.3 MB]
- 10-5生成qt资源、界面和信号槽c++代码.mp4 [873.7 MB]
- 10-2cmake设置QT的SDK路径加载qt库和头文件.mp4 [602.0 MB]
- 10-4cmake导入qt库完成qt界面示例代码-有资源找不到错误.mp4 [762.4 MB]
- 10-6cmake编译QT项目输出x86和x64程序.mp4 [765.5 MB]
课件资料1 条
- 课件资料.exe [207.1 MB]
第6章 CMake install部署项目13 集
- 6-11 cmake install export自定义pack【不易整理‖请关注:CunWorkNotes】.mp4 [44.1 MB]
- 6-5 cmake install Debug和Release版.mp4 [37.8 MB]
- 6-1 第六章介绍【优质资源‖关注:CunWorkNotes 解锁】.mp4 [11.3 MB]
- 6-7 cmake install目录过滤git和指定后缀文件.mp4 [40.3 MB]
- 6-6 cmake install 文件按类型发布和权限设置.mp4 [49.8 MB]
- 6-10 cmake find_package 分析【优质资源‖关注:CunWorkNotes 解锁】.mp4 [20.3 MB]
- 6-12 find_package自定义package【不易整理‖请关注:CunWorkNotes】.mp4 [21.2 MB]
- 6-3 cmake 第一个install示例多平台演示部署.mp4 [31.8 MB]
- 6-2 cmake install功能说明和测试项目代码准备.mp4 [44.7 MB]
- 6-13 多版本自定义package共存.mp4 [76.7 MB]
- 6-9 cmake install分组安装【不易整理‖请关注:CunWorkNotes】.mp4 [13.1 MB]
- 6-8 cmake install code安装期间执行代码.mp4 [15.6 MB]
- 6-4 cmake install动态静态库和头文件安装路径设置.mp4 [39.0 MB]


![大疆维修,无人机维修教程[66.30GB]](/api/uploads/b6a69810-862f-479c-a529-d66880073ebc.jpg)


