CMake 实战教程1:管理 VS 工程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34719188/article/details/83688569

说明


  • 以下内容均是在 Windows 下进行操作
  • 博主用的 VS 版本: 2013
  • 博主用的 Cmake 版本:cmake-3.13.0-rc2-win64-x64
  • 所有资源均已上传至百度云(提取码:utcm):CMake资源合集

什么是 CMake


我们经常见到的 Make 工具有:

  • GNU Make
  • QT 的 qmake
  • 微软的 MS nmake
  • BSD Make(pmake)
  • Makepp
  • 其他

那么这样会造成以下问题:

  • 这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别
  • 这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作

CMake 的提出就是为了解决上述问题:

CMake是这样一个工具工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然,CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等。

CMake 下载与安装


  • 官网:https://cmake.org/download/
  • 安装:就是一个解压过程
  • 安装完后记得在系统环境变量里添加 CMake.exe 的 Path

CMake 入门


作为入门,请读者自行阅读以下内容,然后再看下面的内容:

  1. 中文版教程

链接1:CMake 入门实战(重点推荐)

链接2:在 linux 下使用 CMake 构建应用程序(次要推荐)

链接3:cmake使用教程

  1. 英文版教程

官方教程:CMake Reference Documentation

写一个 Demo


注意:

本 Demo 对应百度云视频中的 Video-Introduction to CMake

如果有英文不好的同学,请用 Youtube 看,可以自动实时翻译

此部分代码已上传至 Github :CMake-Tutorial

  • 目录树(红线代表同一层):

在这里插入图片描述

  • 如果有点不好看,看这个:
--./Demo
     |---dlls
     |    |---dll1
     |    |    |---dll1.h
     |    |    |---dll1.cpp
     |    |    |---CMakeLists.txt
     |    |---CMakeLists.txt
     |---exes
     |    |---exe1
     |    |    |---main.cpp
     |    |    |---CMakeLists.txt
     |    |---CMakeLists.txt
     |---inc
     |    |---head1.h
     |---libssrc
     |    |---lib1
     |    |    |---lib1.h
     |    |    |---lib1.cpp
     |    |    |---CMakeLists.txt
     |    |---CMakeLists.txt
     |---CMakeLists.txt
  • 代码书写

此部分代码已上传至 Github ,见上文

  • 代码全家福
inc 文件夹

在这里插入图片描述

dlls 文件夹

在这里插入图片描述

exes 文件夹

在这里插入图片描述

libssrc 文件夹

在这里插入图片描述

顶层 CMakeLists.txt

在这里插入图片描述

将 Demo CMake 成 VS 工程


有以下两种方法:

  1. 直接 CMake
  • 打开 Demo 文件夹,在此目录下打开 cmd,执行 cmake .(如果需要的话执行 make )
  1. 用 CMake GUI
  • 在 Demo 下新建一个 build 文件夹
  • 打开 CMake GUI,按图操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

运行 VS 工程


  • 双击打开 Demo.sln
  • 生成 - 批生成 - 勾选INSTALL Debug - 生成

在这里插入图片描述

  • 最终在 bin 下生成 exe1.exe 文件,在 cmd 下运行该程序

在这里插入图片描述

在这里插入图片描述

为什么要这样组织文件


目前你只需要知道这样更容易打包发布程序即可

更多请查看我的另外一篇博文:VS下静态库与动态库的生成与使用

总结


  • 通过 VS 和 CMake 的交叉理解,能够更加全面的、综合的理解一个大型工程的组织方式

联系博主


邮箱:[email protected]

猜你喜欢

转载自blog.csdn.net/qq_34719188/article/details/83688569