夏曹俊-CMake构建大型C++项目
CMake实战指南:5大核心技巧构建高效C++项目

1. 为什么选择CMake管理C++项目?
CMake作为跨平台构建工具,已成为大型C++项目的行业标准。本课程通过200+课时系统讲解CMake从基础语法到实战应用,涵盖Windows/Linux/macOS多平台适配,解决传统Makefile难以维护、构建效率低下等痛点。特别适合需要持续集成、多人协作的中大型项目开发场景。2. 课程核心内容解析
- 跨平台编译实战:演示Linux/Windows/macOS下静态库、动态库的差异化处理(1-17至1-20章节)
- QT项目深度整合:详解资源文件生成、信号槽代码自动生成及多架构输出(10-1至10-6章节)
- 工业级项目规范:包含install部署、单元测试(googletest)、交叉编译安卓/鸿蒙等关键技能
- 性能优化技巧:Debug/Release差异化配置、PDB文件处理、运行时库选择(5-10至5-15章节)3. 讲师夏曹俊的专业背景
课程由资深开发工程师夏曹俊主讲,拥有15年跨平台C++开发经验,曾主导多个百万行代码级工业软件构建。其"理论+实战"的教学风格能帮助学员快速掌握CMake在真实项目中的高阶用法,如xlog日志库的完整构建流程(第9章)便是其工程经验的典型输出。4. 课程差异化价值
相比碎片化教程,本课程提供:
- 完整工具链覆盖:从变量设置(3-6章节)到生成表达式(4-2章节),再到属性调试(3-17章节)
- 企业级项目模板:包含开源项目xcpp的完整构建案例(第9章),可直接复用至实际工作
- 深度问题解决方案:如vs运行时库冲突(8-7章节)、多ABI支持(7-5章节)等高频难题5. 适合哪些开发者学习?
- 需要将Visual Studio项目迁移到Linux/macOS的Windows开发者
- 面临多平台库依赖管理困境的跨平台团队
- 希望规范构建流程、实现自动化测试的中高级C++工程师
通过本课程,不仅能掌握CMake的核心语法,更能获得构建百万级代码工程的方法论。从简单的message调试(2-2章节)到复杂的交叉编译(第7章),层层递进培养工程化思维。
资源下载通道
夸克网盘分享
文件大小:7.93 GB
资源目录列表:
├─V-4854:夏曹俊-CMake构建大型c++项目│ ├─第10章CMake补充章节
│ │ ├─10-1cmake构建vs_qt项目示例程序完成.mp4
│ │ ├─10-2cmake设置QT的SDK路径加载qt库和头文件.mp4
│ │ ├─10-3qt程序执行的依赖库自动复制.mp4
│ │ ├─10-4cmake导入qt库完成qt界面示例代码-有资源找不到错误.mp4
│ │ ├─10-5生成qt资源、界面和信号槽c++代码.mp4
│ │ ├─10-6cmake编译QT项目输出x86和x64程序.mp4
│ ├─第1章CMake快速入门篇
│ │ ├─1-1cmake课程介绍.mp4
│ │ ├─1-10macos_cmake安装源码编译.mp4
│ │ ├─1-11fist_cmake第一个CMakeLists.txt示例.mp4
│ │ ├─1-12windows下用vs2022编译第一个cmakelis.mp4
│ │ ├─1-13windwos下用cmake生成nmake的项目并编译.mp4
│ │ ├─1-14linux和macos下编译第一个cmakec++项目.mp4
│ │ ├─1-15编译cmake库的前置准备和静态库的实战原理分析.mp4
│ │ ├─1-16动态库原理和头文件作用.mp4
│ │ ├─1-17cmake静态库xlog跨平台编译windows、lin.mp4
│ │ ├─1-18cmake链接静态库.mp4
│ │ ├─1-19cmake动态库编译和链接linux.mp4
│ │ ├─1-2第一章介绍.mp4
│ │ ├─1-20cmake动态库windows和mac测试.mp4
│ │ ├─1-3cmake是什么为什么要好的构建工具.mp4
│ │ ├─1-4什么是持续集成.mp4
│ │ ├─1-5为什么用cmake及它的特性.mp4
│ │ ├─1-6cmake工作原理图解分析.mp4
│ │ ├─1-7cmake源码linux_ubuntu_编译安装.mp4
│ │ ├─1-8cmakewindows安装二进制版本.mp4
│ │ ├─1-9windows下使用cmake编译cmake源码并安装.mp4
│ ├─第2章CMake常用功能
│ │ ├─2-1第二章介绍.mp4
│ │ ├─2-10cmake自动载入项目源码文件.mp4
│ │ ├─2-11CMakefile自动导入头文件到项目.mp4
│ │ ├─2-12CMake分步编译和清理指定target目标.mp4
│ │ ├─2-13cmake调试打印生成的具体指令.mp4
│ │ ├─2-14CMake设置输出路径跨平台演示分析.mp4
│ │ ├─2-15cmakeadd_subdirectory.mp4
│ │ ├─2-2cmake注释和message基础.mp4
│ │ ├─2-3cmakemessage高级使用-指定日志级别.mp4
│ │ ├─2-4cmakemessage日志级别代码演示和重定到文件.mp4
│ │ ├─2-5cmakemessage模块查找日志和显示缩进.mp4
│ │ ├─2-6cmakeset变量入门和示例.mp4
│ │ ├─2-7cmake变量示例设置message消息颜色.mp4
│ │ ├─2-8cmake自带的四种变量和给c++传递变量演示.mp4
│ │ ├─2-9cmakeinclude分析和示例.mp4
│ ├─第3章CMake主要语法
│ │ ├─3-1第三章介绍.mp4
│ │ ├─3-10CACHE覆盖策略设置cmake_policy.mp4
│ │ ├─3-11cmake命令传递缓存变量.mp4
│ │ ├─3-12cmake属性说明set_property.mp4
│ │ ├─3-13cmake全局属性和APPEND_STRINGget_.mp4
│ │ ├─3-14cmakedefine_property属性说明设置和.mp4
│ │ ├─3-15cmake文件属性和给c++传递预处理变量示例.mp4
│ │ ├─3-16cmake目标属性设置给c++传递多个宏.mp4
│ │ ├─3-17cmake属性调试cmake_print_propert.mp4
│ │ ├─3-18cmakeenv环境变量实战.mp4
│ │ ├─3-19cmakemath数学计算.mp4
│ │ ├─3-2cmakeif语法说明与常量判断代码演示.mp4
│ │ ├─3-20cmakestring查找和字串相关处理.mp4
│ │ ├─3-22cmakestringjson增删改.mp4
│ │ ├─3-23cmakelist追加、读取和拼接.mp4
│ │ ├─3-24cmakelist子数组和查找删除插入修改.mp4
│ │ ├─3-25cmakelist双向队列操作和排序.mp4
│ │ ├─3-26cmakeforeach遍历RANGE.mp4
│ │ ├─3-27cmakeforeach遍历list和break().mp4
│ │ ├─3-28cmakewhile循环.mp4
│ │ ├─3-29cmakemacro宏原理接口分析.mp4
│ │ ├─3-3cmakeif变量和字符串判断代码演示.mp4
│ │ ├─3-30cmakemacro参数传递.mp4
│ │ ├─3-31cmake_parse_arguments宏传递属性类.mp4
│ │ ├─3-32cmakefunction函数演示.mp4
│ │ ├─3-33cmake函数和变量的作用域演示.mp4
│ │ ├─3-4cmakeif逻辑运算符.mp4
│ │ ├─3-5cmakeif一元、二元比较和正则匹配.mp4
│ │ ├─3-6cmakecache缓存变量设置.mp4
│ │ ├─3-7cmake普通变量和全局CACHE变量作用域测试.mp4
│ │ ├─3-8cmake-gui与CACHE缓存变量的各种类型.mp4
│ │ ├─3-9ccmake用户修改配置和option.mp4
│ ├─第4章cmake生成表达式和文件操作
│ │ ├─4-1第四章介绍.mp4
│ │ ├─4-2cmake生成表达式讲解和应用场景分析.mp4
│ │ ├─4-3cmake条件表达式和逻辑表达式示例.mp4
│ │ ├─4-4cmake生成表达式的两种调试方法(重要).mp4
│ │ ├─4-5cmake字符串比较表达式和条件表达式.mp4
│ │ ├─4-6cmakes生成表达式目标相关查询.mp4
│ ├─第5章CMake跨平台c++编译特性设置
│ │ ├─5-1第五章介绍.mp4
│ │ ├─5-10cmakelinux下配置Debug和Release.mp4
│ │ ├─5-11cmakewindows下配置Debug和Releas.mp4
│ │ ├─5-12cmake动态库跨平台Debug和Release不同输出.mp4
│ │ ├─5-13cmake_vs_pdb文件输出配置.mp4
│ │ ├─5-14vs的debug和release设置不同的调试工作路径.mp4
│ │ ├─5-15CMakeVS设置运行时库MD_MTD.mp4
│ │ ├─5-16vs的souce_group代码分组显示.mp4
│ │ ├─5-2target_include_directories包含.mp4
│ │ ├─5-3PUBLIC_INTERFACE依赖传递头文件引用路径.mp4
│ │ ├─5-4target_link_libraries和属性的原生调.mp4
│ │ ├─5-5target_compile_definitions演示.mp4
│ │ ├─5-6target_compile_features.mp4
│ │ ├─5-7cmake编译和链接OBJECT文件.mp4
│ │ ├─5-8cmake动态库的生成版本号符号链接.mp4
│ │ ├─5-9cmake_debug_release配置说明.mp4
│ ├─第6章CMakeinstall部署项目
│ │ ├─6-1第六章介绍.mp4
│ │ ├─6-10cmakefind_package分析.mp4
│ │ ├─6-11cmakeinstallexport自定义pack.mp4
│ │ ├─6-12find_package自定义package.mp4
│ │ ├─6-13多版本自定义package共存.mp4
│ │ ├─6-2cmakeinstall功能说明和测试项目代码准备.mp4
│ │ ├─6-3cmake第一个install示例多平台演示部署.mp4
│ │ ├─6-4cmakeinstall动态静态库和头文件安装路径设置.mp4
│ │ ├─6-5cmakeinstallDebug和Release版.mp4
│ │ ├─6-6cmakeinstall文件按类型发布和权限设置.mp4
│ │ ├─6-7cmakeinstall目录过滤git和指定后缀文件.mp4
│ │ ├─6-8cmakeinstallcode安装期间执行代码.mp4
│ │ ├─6-9cmakeinstall分组安装.mp4
│ ├─第7章CMake交叉编译
│ │ ├─7-1第七章介绍.mp4
│ │ ├─7-2cmake交叉编译分析和测试代码准备.mp4
│ │ ├─7-3cmake交叉编译linuxarm开发板程序.mp4
│ │ ├─7-4cmake交叉使用NDK交叉编译安卓静态库.mp4
│ │ ├─7-5导入cmake编译的库到安卓项目并支持多ABI.mp4
│ │ ├─7-6创建并分析鸿蒙ets的c++native项目.mp4
│ │ ├─7-7cmake编译鸿蒙Hap应用的c++库.mp4
│ ├─第8章cmake单元测试
│ │ ├─8-1第八章介绍.mp4
│ │ ├─8-2cmake_ctest单元测试分析和测试示例.mp4
│ │ ├─8-3使用CMake的Fetch自动下载编译googlete.mp4
│ │ ├─8-4建立第一个cmake调用googletest的示例.mp4
│ │ ├─8-5cmake解压编译安装gtest并测试.mp4
│ │ ├─8-6googletest完整单元测试TEST_F.mp4
│ │ ├─8-7解决googletest在vs上运行时库不一致问题.mp4
│ ├─第9章CMake实战开源项目xcpp
│ │ ├─9-1第九章介绍.mp4
│ │ ├─9-10xthread_pool库和样例加入项目配置.mp4
│ │ ├─9-11cmake同时编译四个项目并添加依赖关系.mp4
│ │ ├─9-12完成xlog和xthread_pool单元测试.mp4
│ │ ├─9-2CMake实战开源项目cmake配置需求分析.mp4
│ │ ├─9-3xlog库项目配置项目源码头文件和静态库宏传递.mp4
│ │ ├─9-4配置xlog输出路径设置DebugRelease输出.mp4
│ │ ├─9-5xlog的install配置并支持find_packa.mp4
│ │ ├─9-6xlog生成c++代码并支持用户配置动态库.mp4
│ │ ├─9-7重构xlog的cmake完成cpp_libaray函数.mp4
│ │ ├─9-8配置test_xlog项目完成linux上测试.mp4
│ │ ├─9-9配置test_xlog可配置在vs上读取xlog静态库.mp4
│ ├─课件资料
│ │ ├─课件资料.zip













![[项目实战] 麦子学院基于Python Flask 快速构建高性能大型企业级web网站项目实战](https://static.kouhao8.com/sucaidashi/xkbb/4f5c0cfab097fd030c7abdf05b57013f.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)





![[C++] C++进阶实战学习 详解C++设计模式 李建忠老师带你深入探究C++设计模式视频](https://static.kouhao8.com/sucaidashi/xkbb/f4240cce2576c29c67fa506be08f5a39.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[C++] 上下两部课程 C++面向对象高级开发视频教程 侯捷老师C++实战视频教程 C+](https://static.kouhao8.com/sucaidashi/xkbb/6b86a88f49754d3111cbb5925ff42cf4.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[项目实战] 构建类微博的亿级社交平台高性能Redis技术精讲视频教程](https://static.kouhao8.com/sucaidashi/xkbb/5ad4f6e16ce35cdca524d483c3ff194b.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[项目实战] 构建类微博的亿级社交平台高性能Redis技术精讲视频教程](https://static.kouhao8.com/sucaidashi/xkbb/aa052fb3f18e1596a382c7bc194d5660.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
相关资源